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 1.6中正确使用 Signal
Jun 22 Python
python中使用序列的方法
Aug 03 Python
Python自动化部署工具Fabric的简单上手指南
Apr 19 Python
详解python Todo清单实战
Nov 01 Python
浅谈Python中(&,|)和(and,or)之间的区别
Aug 07 Python
关于Python核心框架tornado的异步协程的2种方法详解
Aug 28 Python
wxPython电子表格功能wx.grid实例教程
Nov 19 Python
在Pytorch中计算卷积方法的区别详解(conv2d的区别)
Jan 03 Python
Windows10+anacond+GPU+pytorch安装详细过程
Mar 24 Python
解决python多线程报错:AttributeError: Can't pickle local object问题
Apr 08 Python
python中如何使用虚拟环境
Oct 14 Python
用python实现一个简单的验证码
Dec 09 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+ajax登录跳转登录实现思路
2016/07/31 PHP
PHP 表单提交及处理表单数据详解及实例
2016/12/27 PHP
thinkphp诸多限制条件下如何getshell详解
2020/12/09 PHP
javascript 复杂的嵌套环境中输出单引号和双引号
2009/05/26 Javascript
ExtJS Grid使用SimpleStore、多选框的方法
2009/11/20 Javascript
基于JQuery实现鼠标点击文本框显示隐藏提示文本
2012/02/23 Javascript
js生成的验证码的实现与技术分析
2014/09/17 Javascript
javascript模拟map输出与去除重复项的方法
2015/02/09 Javascript
解读Bootstrap v4 sass设计
2016/05/29 Javascript
js手机号批量滚动抽奖实现代码
2020/04/17 Javascript
AngularJS 最常用的八种功能(基础知识)
2017/06/26 Javascript
javaScript之split与join的区别(详解)
2017/11/08 Javascript
Vue Autocomplete 自动完成功能简单示例
2019/05/25 Javascript
通过Nodejs搭建网站简单实现注册登录流程
2019/06/14 NodeJs
Vue 图片压缩并上传至服务器功能
2020/01/15 Javascript
微信浏览器下拉黑边解决方案 wScroollFix
2020/01/21 Javascript
vue实现购物车的监听
2020/04/20 Javascript
Javascript节流函数throttle和防抖函数debounce
2020/12/03 Javascript
简单介绍Python中的len()函数的使用
2015/04/07 Python
Python selenium 三种等待方式详解(必会)
2016/09/15 Python
基于Django的ModelForm组件(详解)
2017/12/07 Python
Python实现可自定义大小的截屏功能
2018/01/20 Python
Python进阶之递归函数的用法及其示例
2018/01/31 Python
Python类的继承、多态及获取对象信息操作详解
2019/02/28 Python
详解Python3 中的字符串格式化语法
2020/01/15 Python
HTML利用九宫格原理进行网页布局
2020/03/13 HTML / CSS
澳大利亚领先的在线机械五金、园艺和存储专家:Edisons
2018/03/24 全球购物
瀑布模型都有哪些优缺点
2014/06/23 面试题
新员工欢迎词
2014/01/12 职场文书
2014年小学植树节活动方案
2014/03/02 职场文书
五年后的职业生涯规划
2014/03/04 职场文书
七一讲话心得体会
2014/09/05 职场文书
高中生第一学年自我鉴定
2014/09/12 职场文书
总经理检讨书范文
2015/02/16 职场文书
oracle覆盖导入dmp文件的2种方法
2021/05/21 Oracle
《极主夫道》真人电影正式预告 定档6月3日上映
2022/04/05 日漫