Python登录系统界面实现详解


Posted in Python onJune 25, 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登录系统界面实现详解

语法介绍

环境配置:

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登录系统界面实现详解

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

#创建一个`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修改MP3文件的方法
Jun 15 Python
python基于BeautifulSoup实现抓取网页指定内容的方法
Jul 09 Python
Python获取昨天、今天、明天开始、结束时间戳的方法
Jun 01 Python
tensorflow 恢复指定层与不同层指定不同学习率的方法
Jul 26 Python
浅谈python3发送post请求参数为空的情况
Dec 28 Python
Python实现打砖块小游戏代码实例
May 18 Python
Python增强赋值和共享引用注意事项小结
May 28 Python
Python分析彩票记录并预测中奖号码过程详解
Jul 09 Python
Python 实现数据结构-堆栈和队列的操作方法
Jul 17 Python
使用Python实现画一个中国地图
Nov 23 Python
python实现音乐播放和下载小程序功能
Apr 26 Python
Python configparser模块应用过程解析
Aug 14 Python
用python打印菱形的实操方法和代码
Jun 25 #Python
python爬虫实现中英翻译词典
Jun 25 #Python
选择python进行数据分析的理由和优势
Jun 25 #Python
python的sorted用法详解
Jun 25 #Python
PyQt5实现简易电子词典
Jun 25 #Python
python如何制作英文字典
Jun 25 #Python
Pandas DataFrame数据的更改、插入新增的列和行的方法
Jun 25 #Python
You might like
php url路由入门实例
2014/04/23 PHP
PHP获取MySql新增记录ID值的3种方法
2014/06/24 PHP
ThinkPHP模版引擎之变量输出详解
2014/12/05 PHP
thinkphp5 加载静态资源路径与常量的方法
2017/12/24 PHP
JavaScript 空位补零实现代码
2010/02/26 Javascript
jQuery EasyUI API 中文文档 - Tabs标签页/选项卡
2011/10/01 Javascript
JS关键字变色实现思路及代码
2013/02/21 Javascript
js展开闭合效果演示代码
2013/07/24 Javascript
javascript实例分享---具有立体效果的图片特效
2014/06/08 Javascript
BootstrapTable refresh 方法使用实例简单介绍
2017/02/20 Javascript
angularjs点击图片放大实现上传图片预览
2017/02/24 Javascript
微信小程序滚动Tab实现左右可滑动切换
2017/08/17 Javascript
jQuery实现的事件绑定功能基本示例
2017/10/11 jQuery
javaScript手机号码校验工具类PhoneUtils详解
2017/12/08 Javascript
Vue 中axios配置实例详解
2018/07/27 Javascript
基于Angularjs-router动态改变Title值的问题
2018/08/30 Javascript
[16:56]教你分分钟做大人:司夜刺客
2014/10/30 DOTA
[50:21]Liquid vs Winstrike 2018国际邀请赛小组赛BO2 第二场
2018/08/19 DOTA
一步步教你用Python实现2048小游戏
2017/01/19 Python
使用Python中的tkinter模块作图的方法
2017/02/07 Python
Pandas之drop_duplicates:去除重复项方法
2018/04/18 Python
完美解决Pycharm无法导入包的问题 Unresolved reference
2018/05/18 Python
python实现树的深度优先遍历与广度优先遍历详解
2019/10/26 Python
Python 解决OPEN读文件报错 ,路径以及r的问题
2019/12/19 Python
pyqt5中动画的使用详解
2020/04/01 Python
使用python-cv2实现Harr+Adaboost人脸识别的示例
2020/10/27 Python
基于Python模拟浏览器发送http请求
2020/11/06 Python
函授毕业生自我鉴定
2013/11/06 职场文书
幼儿评语大全
2014/04/30 职场文书
市场推广策划方案
2014/06/02 职场文书
党员剖析材料范文
2014/09/30 职场文书
2015年感恩节演讲稿(优选篇)
2015/03/20 职场文书
手机销售员岗位职责
2015/04/11 职场文书
财务部岗位职责范本
2015/04/14 职场文书
2015年暑假生活总结
2015/07/13 职场文书
Android移动应用开发指南之六种布局详解
2022/09/23 Java/Android