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基础教程之基本内置数据类型介绍
Feb 20 Python
简单讲解Python编程中namedtuple类的用法
Jun 21 Python
K-means聚类算法介绍与利用python实现的代码示例
Nov 13 Python
替换python字典中的key值方法
Jul 06 Python
virtualenv 指定 python 解释器的版本方法
Oct 25 Python
Python partial函数原理及用法解析
Dec 11 Python
django xadmin action兼容自定义model权限教程
Mar 30 Python
Python格式化输出--%s,%d,%f的代码解析
Apr 29 Python
Python 如何批量更新已安装的库
May 26 Python
Kears 使用:通过回调函数保存最佳准确率下的模型操作
Jun 17 Python
Tensorflow tensor 数学运算和逻辑运算方式
Jun 30 Python
解决Windows下python和pip命令无法使用的问题
Aug 31 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
Codeigniter校验ip地址的方法
2015/03/21 PHP
php实现从上传文件创建缩略图的方法
2015/04/02 PHP
PHP操作mysql数据库分表的方法
2016/06/09 PHP
php实现查询功能(数据访问)
2017/05/23 PHP
[转]JS宝典学习笔记
2007/02/07 Javascript
一个页面元素appendchild追加到另一个页面元素的问题
2013/01/27 Javascript
中文字符串截取的js函数代码
2013/04/17 Javascript
深入理解JavaScript系列(30):设计模式之外观模式详解
2015/03/03 Javascript
详解JavaScript的AngularJS框架中的表达式与指令
2016/03/05 Javascript
Angularjs的键盘事件的绑定
2017/07/27 Javascript
vue 父组件调用子组件方法及事件
2018/03/29 Javascript
微信小程序wx:for循环的实例详解
2018/10/07 Javascript
微信小程序功能之全屏滚动效果的实现代码
2018/11/22 Javascript
详解webpack编译速度提升之DllPlugin
2019/02/05 Javascript
JavaScript数组去重的方法总结【12种方法,号称史上最全】
2019/02/28 Javascript
Vue.js构建你的第一个包并在NPM上发布的方法步骤
2019/05/01 Javascript
JS实现使用POST方式发送请求
2019/08/30 Javascript
vue+webpack dev本地调试全局样式引用失效的解决方案
2019/11/12 Javascript
详解Vue的watch中的immediate与watch是什么意思
2019/12/30 Javascript
解决vue-router 切换tab标签关闭时缓存问题
2020/07/22 Javascript
[40:27]完美世界DOTA2联赛PWL S3 PXG vs GXR 第一场 12.19
2020/12/24 DOTA
python 将数据保存为excel的xls格式(实例讲解)
2018/05/03 Python
python ipset管理 增删白名单的方法
2019/01/14 Python
5款Python程序员高频使用开发工具推荐
2019/04/10 Python
Django Rest framework认证组件详细用法
2019/07/25 Python
Tensorflow轻松实现XOR运算的方式
2020/02/03 Python
Python图像处理库PIL的ImageEnhance模块使用介绍
2020/02/26 Python
Django模板标签中url使用详解(url跳转到指定页面)
2020/03/19 Python
Python+OpenCV图像处理——图像二值化的实现
2020/10/24 Python
CSS3动画之利用requestAnimationFrame触发重新播放功能
2019/09/11 HTML / CSS
会计工作心得体会
2014/01/13 职场文书
反腐倡廉警示教育活动心得体会
2014/09/04 职场文书
2019年特色火锅店的创业计划书模板
2019/08/28 职场文书
导游词之镇江-金山寺
2019/10/14 职场文书
使用JS实现简易计算器
2021/06/14 Javascript
TaiShan 200服务器安装Ubuntu 18.04的图文教程
2022/06/28 Servers