侯体宗的博客
  • 首页
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

Python GUI学习之登录系统界面篇

Python  /  管理员 发布于 7年前   206

导言篇:

我的python环境是:python3.6.5

这里我选择的GUI编程包是:tkinter

tkinker在python2.5以后就是自带包了,所以我们不需要另外安装

tkinker相对与其他python GUI编程的包而已,是相对容易入手的

代码篇:

#这是系统的登录界面    import tkinter  from tkinter import messagebox  class Login(object):      def __init__(self):          # 创建主窗口,用于容纳其它组件          self.root = tkinter.Tk()          # 给主窗口设置标题内容          self.root.title("影视资源管理系统(离线版)")          self.root.geometry('450x300')          #运行代码时记得添加一个gif图片文件,不然是会出错的        self.canvas = tkinter.Canvas(self.root, height=200, width=500)#创建画布          self.image_file = tkinter.PhotoImage(file='welcome_1.gif')#加载图片文件          self.image = self.canvas.create_image(0,0, anchor='nw', image=self.image_file)#将图片置于画布上          self.canvas.pack(side='top')#放置画布(为上端)            #创建一个`label`名为`Account: `          self.label_account = tkinter.Label(self.root, text='Account: ')          #创建一个`label`名为`Password: `          self.label_password = tkinter.Label(self.root, text='Password: ')                      # 创建一个账号输入框,并设置尺寸          self.input_account = tkinter.Entry(self.root, width=30)          # 创建一个密码输入框,并设置尺寸          self.input_password = tkinter.Entry(self.root, show='*',  width=30)            # 创建一个登录系统的按钮          self.login_button = tkinter.Button(self.root, command = self.backstage_interface, text = "Login", width=10)          # 创建一个注册系统的按钮          self.siginUp_button = tkinter.Button(self.root, command = self.siginUp_interface, text = "Sign up", width=10)        # 完成布局      def gui_arrang(self):          self.label_account.place(x=60, y= 170)          self.label_password.place(x=60, y= 195)          self.input_account.place(x=135, y=170)          self.input_password.place(x=135, y=195)          self.login_button.place(x=140, y=235)          self.siginUp_button.place(x=240, y=235)        # 进入注册界面      def siginUp_interface(self):          # self.root.destroy()          tkinter.messagebox.showinfo(title='影视资源管理系统', message='进入注册界面')                # 进行登录信息验证      def backstage_interface(self):          account = self.input_account.get().ljust(10," ")          password = self.input_password.get().ljust(10," ")          #对账户信息进行验证,普通用户返回user,管理员返回master,账户错误返回noAccount,密码错误返回noPassword          verifyResult = verifyAccount.verifyAccountData(account,password)            if verifyResult=='master':              self.root.destroy()              tkinter.messagebox.showinfo(title='影视资源管理系统', message='进入管理界面')          elif verifyResult=='user':              self.root.destroy()              tkinter.messagebox.showinfo(title='影视资源管理系统', message='进入用户界面')           elif verifyResult=='noAccount':              tkinter.messagebox.showinfo(title='影视资源管理系统', message='该账号不存在请重新输入!')          elif verifyResult=='noPassword':              tkinter.messagebox.showinfo(title='影视资源管理系统', message='账号/密码错误请重新输入!')    def main():      # 初始化对象      L = Login()      # 进行布局      L.gui_arrang()      # 主程序执行      tkinter.mainloop()      if __name__ == '__main__':      main()

效果篇:


语法介绍:环境配置:

Python3.6.5,前往官网下载

tkinker包:Python2.5之后,tkinker包是自带的,我们直接导入就好了

基本语法:

self.root = tkinter.Tk()

创建一个窗口对象root,root前面的self.是面向对象里面的内容,不明白的童鞋可以去Google一下面向对象

self.root.title("影视资源管理系统(离线版)") self.root.geometry('450x300')

给窗口root设置标题,并设置窗口

self.canvas = tkinter.Canvas(self.root, height=200, width=500)#创建画布 self.image_file = tkinter.PhotoImage(file='welcome_1.gif')#加载图片文件 self.image = self.canvas.create_image(0,0, anchor='nw', image=self.image_file)#将图片置于画布上 self.canvas.pack(side='top')#放置画布(为上端)

如果我们需要让自己的界面在美观上加分,大可以试试创建一个画布,也就是下面这个东西


我这里是先对图片背景进行了透明化处理,需要的小伙伴可以去这里 对图片进行处理,个人觉得这个网站还是不错的

#创建一个`label`名为`Account: ` self.label_account = tkinter.Label(self.root, text='Account: ') #创建一个`label`名为`Password: ` self.label_password = tkinter.Label(self.root, text='Password: ')

这里创建的是一个label,label是什么不明白可以参考上面贴图的“Account:”与“Password:”

.Label(A, B):参数A代表Lable依赖窗口,参数B即用户可见的Lable的名字了(text="LableName")

.Button(A, B, text='', [width='', height='']):参数A是按钮依赖的窗口主体,参数B是按钮的相应事件(command = self.siginUp_interface)这里的响应事件的进行注册/登录进入后台,command后接响应函数。

.Entry(A):输入框,参照前面的.Label(),有疑问的可以在下方留言

.place(x="", y=""):这个是设置窗口部件的函数

额。。。。登录界面就介绍到这里了,后面我会继续更新登录界面的响应机制,有不明的地方可以在下方留言,我看到会回复的

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


  • 上一条:
    python web框架 django wsgi原理解析
    下一条:
    Python爬虫:将headers请求头字符串转为字典的方法
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在python语言中Flask框架的学习及简单功能示例(0个评论)
    • 在Python语言中实现GUI全屏倒计时代码示例(0个评论)
    • Python + zipfile库实现zip文件解压自动化脚本示例(0个评论)
    • python爬虫BeautifulSoup快速抓取网站图片(1个评论)
    • vscode 配置 python3开发环境的方法(0个评论)
    • 近期文章
    • 在go语言中实现字符串可逆性压缩及解压缩功能(0个评论)
    • 使用go + gin + jwt + qrcode实现网站生成登录二维码在app中扫码登录功能(0个评论)
    • 在windows10中升级go版本至1.24后LiteIDE的Ctrl+左击无法跳转问题解决方案(0个评论)
    • 智能合约Solidity学习CryptoZombie第四课:僵尸作战系统(0个评论)
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2018-04
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2022-01
    • 2023-07
    • 2023-10
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客