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


Posted in Python onAugust 21, 2019

导言篇:

我的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()

效果篇:

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

语法介绍:环境配置:

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')#放置画布(为上端)

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

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

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

#创建一个`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 相关文章推荐
Django框架的使用教程路由请求响应的方法
Jul 03 Python
tensorflow: variable的值与variable.read_value()的值区别详解
Jul 30 Python
Python 一句话生成字母表的方法
Jan 02 Python
python 实现敏感词过滤的方法
Jan 21 Python
基于多进程中APScheduler重复运行的解决方法
Jul 22 Python
浅谈Python访问MySQL的正确姿势
Jan 07 Python
Django重设Admin密码过程解析
Feb 10 Python
python输出数学符号实例
May 11 Python
初学者学习Python好还是Java好
May 26 Python
Python中random模块常用方法的使用教程
Oct 04 Python
Django中template for如何使用方法
Jan 31 Python
利用Python实现最小二乘法与梯度下降算法
Feb 21 Python
Python爬虫:将headers请求头字符串转为字典的方法
Aug 21 #Python
利用python在大量数据文件下删除某一行的例子
Aug 21 #Python
Python 仅获取响应头, 不获取实体的实例
Aug 21 #Python
详解用Python为直方图绘制拟合曲线的两种方法
Aug 21 #Python
Python 使用指定的网卡发送HTTP请求的实例
Aug 21 #Python
Python turtle绘画象棋棋盘
Aug 21 #Python
Python随机函数库random的使用方法详解
Aug 21 #Python
You might like
php对关联数组循环遍历的实现方法
2015/03/13 PHP
php curl抓取网页的介绍和推广及使用CURL抓取淘宝页面集成方法
2015/11/30 PHP
php中的登陆login实例代码
2016/06/20 PHP
JS 统计时间
2021/03/09 Javascript
js 变量类型转换常用函数与代码[比较全]
2009/12/01 Javascript
js 禁用只读文本框获得焦点时的退格键
2010/04/25 Javascript
JS操作HTML自定义属性的方法
2015/02/10 Javascript
多种jQuery绑定事件的实现方式
2016/06/13 Javascript
解决node.js安装包失败的几种方法
2016/09/02 Javascript
express文件上传中间件Multer详解
2016/10/24 Javascript
JavaScript自定义文本框光标
2017/03/05 Javascript
Node.js服务器开启Gzip压缩教程
2017/08/11 Javascript
jQuery实现表格冻结顶栏效果
2017/08/20 jQuery
vue.js中created方法作用
2018/03/30 Javascript
vue实现点击展开点击收起效果
2018/04/27 Javascript
原生js封装的ajax方法示例
2018/08/02 Javascript
小程序实现短信登录倒计时
2019/07/12 Javascript
js键盘事件实现人物的行走
2020/01/17 Javascript
在Python3中使用asyncio库进行快速数据抓取的教程
2015/04/02 Python
使用Python编写提取日志中的中文的脚本的方法
2015/04/30 Python
Python 多核并行计算的示例代码
2017/11/07 Python
python 处理string到hex脚本的方法
2018/10/26 Python
Python中关于浮点数的冷知识
2019/09/22 Python
Django集成celery发送异步邮件实例
2019/12/17 Python
tensorflow 环境变量设置方式
2020/02/06 Python
python计算导数并绘图的实例
2020/02/29 Python
Python实现快速大文件比较代码解析
2020/09/04 Python
纯CSS3实现滚动的齿轮动画效果
2014/06/05 HTML / CSS
美国购买新书和二手书网站:Better World Books
2018/10/31 全球购物
股权转让意向书
2014/04/01 职场文书
遗嘱公证书标准样本
2014/04/08 职场文书
2014中学教师节广播稿
2014/09/10 职场文书
2014年医德医风工作总结
2014/11/13 职场文书
毕业生政审意见范文
2015/06/04 职场文书
工作经历证明范本
2015/06/15 职场文书
健康教育主题班会
2015/08/14 职场文书