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 相关文章推荐
Python的高级Git库 Gittle
Sep 22 Python
Python中字符串的修改及传参详解
Nov 30 Python
python模块之paramiko实例代码
Jan 31 Python
Python常见数字运算操作实例小结
Mar 22 Python
python Web flask 视图内容和模板实现代码
Aug 23 Python
Python多线程爬取豆瓣影评API接口
Oct 22 Python
Django框架HttpResponse对象用法实例分析
Nov 01 Python
pytorch-RNN进行回归曲线预测方式
Jan 14 Python
python实现二分类和多分类的ROC曲线教程
Jun 15 Python
Pycharm操作Git及GitHub的步骤详解
Oct 27 Python
pytorch finetuning 自己的图片进行训练操作
Jun 05 Python
python三子棋游戏
May 04 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编程网上资源导航
2006/10/09 PHP
PHP base64+gzinflate压缩编码和解码代码
2008/10/03 PHP
解决cPanel无法安装php5.2.17
2014/06/22 PHP
关于Blog顶部的滚动导航条代码
2006/09/25 Javascript
两种方法实现文本框输入内容提示消失
2013/03/17 Javascript
jquery固定底网站底部菜单效果
2013/08/13 Javascript
AngularJs bootstrap搭载前台框架——js控制部分
2016/09/01 Javascript
基于javascript实现的购物商城商品倒计时实例
2016/12/11 Javascript
bootstrap选项卡使用方法解析
2017/01/11 Javascript
解决webpack -p压缩打包react报语法错误的方法
2017/07/03 Javascript
Vue.js实现按钮的动态绑定效果及实现代码
2017/08/21 Javascript
jquery实现上传图片功能
2020/06/29 jQuery
vue项目配置同一局域网可使用ip访问的操作
2020/10/23 Javascript
Python常见异常分类与处理方法
2017/06/04 Python
基于Python的XSS测试工具XSStrike使用方法
2017/07/29 Python
Python爬取十篇新闻统计TF-IDF
2018/01/03 Python
python时间序列按频率生成日期的方法
2019/05/14 Python
int在python中的含义以及用法
2019/06/27 Python
Django之使用celery和NGINX生成静态页面实现性能优化
2019/10/08 Python
Pycharm远程连接服务器并实现代码同步上传更新功能
2020/02/25 Python
Python脚本如何在bilibili中查找弹幕发送者
2020/06/04 Python
opencv之颜色过滤只留下图片中的红色区域操作
2020/06/05 Python
Python3爬虫关于识别点触点选验证码的实例讲解
2020/07/30 Python
英国优质家居用品网上品牌:URBANARA
2018/06/01 全球购物
澳大利亚女士时装在线:Rockmans
2018/09/26 全球购物
日本最大的彩色隐形眼镜销售网站:CharmColor
2020/09/09 全球购物
Oracle里面常用的数据字典有哪些
2014/02/14 面试题
结构和类有什么异同
2012/07/16 面试题
演讲稿的格式及范文
2014/08/22 职场文书
旅游活动总结
2014/08/27 职场文书
2014年班级工作总结范文
2014/12/23 职场文书
初中同学会致辞
2015/08/01 职场文书
MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函数的使用详解
2021/06/26 MySQL
Redis Cluster集群动态扩容的实现
2021/07/15 Redis
MySQL插入数据与查询数据
2022/03/25 MySQL
Elasticsearch 聚合查询和排序
2022/04/19 Python