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基础-流程控制
Mar 18 Python
Python Grid使用和布局详解
Jun 30 Python
Python自定义装饰器原理与用法实例分析
Jul 16 Python
Django如何自定义分页
Sep 25 Python
PyQt弹出式对话框的常用方法及标准按钮类型
Feb 27 Python
详解如何设置Python环境变量?
May 13 Python
Pycharm如何打断点的方法步骤
Jun 13 Python
pyqt5之将textBrowser的内容写入txt文档的方法
Jun 21 Python
python网络爬虫 Scrapy中selenium用法详解
Sep 28 Python
Pycharm debug调试时带参数过程解析
Feb 03 Python
numpy矩阵数值太多不能全部显示的解决
May 14 Python
Python基于百度API识别并提取图片中文字
Jun 27 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
linux下使用ThinkPHP需要注意大小写导致的问题
2011/08/02 PHP
php递归删除目录与文件的方法
2015/01/30 PHP
学习php设计模式 php实现模板方法模式
2015/12/08 PHP
php实现文章置顶功能的方法
2016/10/20 PHP
JavaScript 替换Html标签实现代码
2009/10/14 Javascript
javascript实现面向对象类的功能书写技巧
2010/03/07 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
2013/10/24 Javascript
js动态添加删除,后台取数据(示例代码)
2013/11/25 Javascript
JavaScript 实现简单的倒计时弹窗DEMO附图
2014/03/05 Javascript
兼容主流浏览器的jQuery+CSS 实现遮罩层的简单代码
2014/10/14 Javascript
浅谈类似于(function(){}).call()的js语句
2015/03/30 Javascript
JS实现为排序好的字符串找出重复行的方法
2016/03/02 Javascript
Javascript 正则表达式校验数字的简单实例
2016/11/02 Javascript
详解angular中通过$location获取路径(参数)的写法
2017/03/21 Javascript
深入理解Vue 单向数据流的原理
2017/11/09 Javascript
Windows下支持自动更新的Electron应用脚手架的方法
2018/12/24 Javascript
详解vue-cli3多环境打包配置
2019/03/28 Javascript
Python实现的递归神经网络简单示例
2017/08/11 Python
python使用pyqt写带界面工具的示例代码
2017/10/23 Python
Python程序员面试题 你必须提前准备!(答案及解析)
2018/01/23 Python
python调用xlsxwriter创建xlsx的方法
2018/05/03 Python
3个用于数据科学的顶级Python库
2018/09/29 Python
Python Pandas批量读取csv文件到dataframe的方法
2018/10/08 Python
python找出因数与质因数的方法
2019/07/25 Python
Python 异常处理Ⅳ过程图解
2019/10/18 Python
Python pandas RFM模型应用实例详解
2019/11/20 Python
Tensorflow中tf.ConfigProto()的用法详解
2020/02/06 Python
Python读取excel文件中带公式的值的实现
2020/04/17 Python
在Python中字典按值排序的实现方法
2020/11/12 Python
我的中国梦演讲稿初中篇
2014/08/19 职场文书
2014年政风行风自查自纠报告
2014/10/21 职场文书
小学生暑假安全保证书
2015/07/13 职场文书
2015年学校医务室工作总结
2015/07/20 职场文书
新员工入职感想
2015/08/07 职场文书
Python中22个万用公式的小结
2021/07/21 Python
win10如何更改appdata文件夹的默认位置?
2022/07/15 数码科技