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 字符串操作实现代码(截取/替换/查找/分割)
Jun 08 Python
在Python中处理字符串之isdigit()方法的使用
May 18 Python
Python编码爬坑指南(必看)
Jun 10 Python
Python编程argparse入门浅析
Feb 07 Python
Python输入二维数组方法
Apr 13 Python
对Python 两大环境管理神器 pyenv 和 virtualenv详解
Dec 31 Python
python生成器用法实例详解
Nov 22 Python
Python操作多维数组输出和矩阵运算示例
Nov 28 Python
python 爬虫网页登陆的简单实现
Nov 30 Python
python os.listdir()乱码解决方案
Jan 31 Python
Python机器学习之KNN近邻算法
May 14 Python
如何获取numpy array前N个最大值
May 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 数组实例说明
2008/08/18 PHP
php验证session无效的解决方法
2014/11/04 PHP
迁移PHP版本到PHP7
2015/02/06 PHP
PHP中CheckBox多选框上传失败的代码写法
2017/02/13 PHP
php使用curl实现简单模拟提交表单功能
2017/05/15 PHP
PHP mysqli事务操作常用方法分析
2017/07/22 PHP
一步一步制作jquery插件Tabs实现过程
2010/07/06 Javascript
javascript innerHTML使用分析
2010/12/03 Javascript
jQuery表单验证插件formValidator(改进版)
2012/02/03 Javascript
jQuery之选择组件的深入解析
2013/06/19 Javascript
js事件监听器用法实例详解
2015/06/01 Javascript
JS实现很实用的对联广告代码(可自适应高度)
2015/09/18 Javascript
JQuery ztree带筛选、异步加载实例讲解
2016/02/25 Javascript
JS实用的带停顿的逐行文本循环滚动效果实例
2016/11/23 Javascript
Bootstrap整体框架之JavaScript插件架构
2016/12/15 Javascript
flexslider.js实现移动端轮播
2017/02/05 Javascript
js实现产品缩略图效果
2017/03/10 Javascript
详解webpack提取第三方库的正确姿势
2017/12/22 Javascript
webpack打包优化的几个方法总结
2020/02/10 Javascript
antd-mobile ListView长列表的数据更新遇到的坑
2020/04/08 Javascript
Vue——解决报错 Computed property "****" was assigned to but it has no setter.
2020/12/19 Vue.js
python读取html中指定元素生成excle文件示例
2014/04/03 Python
python3 requests中使用ip代理池随机生成ip的实例
2018/05/07 Python
PyTorch的自适应池化Adaptive Pooling实例
2020/01/03 Python
Tensorflow读取并输出已保存模型的权重数值方式
2020/01/04 Python
彻底搞懂python 迭代器和生成器
2020/09/07 Python
HTML5新增的表单元素和属性实例解析
2014/07/07 HTML / CSS
英国最大的在线快递公司之一:ParcelHero
2019/11/04 全球购物
市三好学生主要事迹
2014/01/28 职场文书
怎样写好自我评价呢?
2014/02/16 职场文书
公路绿化方案
2014/05/12 职场文书
财务工作疏忽检讨书
2014/09/11 职场文书
暑假生活随笔
2015/08/15 职场文书
css3中2D转换之有趣的transform形变效果
2022/02/24 HTML / CSS
PHP面试题 wakeup魔法 Ezpop pop序列化与反序列化
2022/04/11 PHP
Java实现带图形界面的聊天程序
2022/06/10 Java/Android