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字符串格式化
Jun 15 Python
Python中有趣在__call__函数
Jun 21 Python
Python即时网络爬虫项目启动说明详解
Feb 23 Python
利用Python正则表达式过滤敏感词的方法
Jan 21 Python
Python绘制频率分布直方图的示例
Jul 08 Python
Python math库 ln(x)运算的实现及原理
Jul 17 Python
python运用sklearn实现KNN分类算法
Oct 16 Python
使用python turtle画高达
Jan 19 Python
python实现拼接图片
Mar 23 Python
pandas 按日期范围筛选数据的实现
Feb 20 Python
Django实现简单的分页功能
Feb 22 Python
Flask中jinja2的继承实现方法及实例
Mar 03 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 日期加减的类,很不错
2009/10/10 PHP
PHP 获取远程网页内容的代码(fopen,curl已测)
2011/06/06 PHP
用php实现百度网盘图片直链的代码分享
2012/11/01 PHP
php实现简单的权限管理的示例代码
2017/08/25 PHP
PHP cookie与session会话基本用法实例分析
2019/11/18 PHP
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
用javascript动态调整iframe高度的代码
2007/04/10 Javascript
js获取电脑分辨率的思路及操作
2013/11/22 Javascript
离开当前页面前使用js判断条件提示是否要离开页面
2014/05/02 Javascript
JavaScript的各种常见函数定义方法
2014/09/16 Javascript
jquery中使用循环下拉菜单示例代码
2014/09/24 Javascript
JQuery调用绑定click事件的3种写法
2015/03/28 Javascript
轻松学习jQuery插件EasyUI EasyUI创建树形网络(1)
2015/11/30 Javascript
1秒50万字!js实现关键词匹配
2016/08/01 Javascript
Vue二次封装axios为插件使用详解
2018/05/21 Javascript
详解Vue-axios 设置请求头问题
2018/12/06 Javascript
关于vue状态过渡transition不起作用的原因解决
2019/04/09 Javascript
Python语言技巧之三元运算符使用介绍
2013/03/04 Python
python文件比较示例分享
2014/01/10 Python
仅用50行Python代码实现一个简单的代理服务器
2015/04/08 Python
python中__slots__用法实例
2015/06/04 Python
python3使用SMTP发送简单文本邮件
2018/06/19 Python
python给微信好友定时推送消息的示例
2019/02/20 Python
Python安装tar.gz格式文件方法详解
2020/01/19 Python
Python requests模块基础使用方法实例及高级应用(自动登陆,抓取网页源码)实例详解
2020/02/14 Python
在django admin详情表单显示中添加自定义控件的实现
2020/03/11 Python
解决更改AUTH_USER_MODEL后出现的问题
2020/05/14 Python
keras中epoch,batch,loss,val_loss用法说明
2020/07/02 Python
对公司合理化的建议书
2014/03/12 职场文书
房地产广告词大全
2014/03/19 职场文书
《回乡偶书》教学反思
2014/04/12 职场文书
慈善晚会策划方案
2014/05/14 职场文书
解除聘用合同证明书范本
2014/09/11 职场文书
开业庆典活动策划方案
2014/09/21 职场文书
11.9消防日宣传标语
2014/10/08 职场文书
暑期社会实践新闻稿
2015/07/17 职场文书