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使用cStringIO实现临时内存文件访问的方法
Mar 26 Python
Django中的“惰性翻译”方法的相关使用
Jul 27 Python
python多线程socket编程之多客户端接入
Sep 12 Python
Python实现的将文件每一列写入列表功能示例【测试可用】
Mar 19 Python
Python实现的建造者模式示例
Aug 06 Python
用python3教你任意Html主内容提取功能
Nov 05 Python
Python Pywavelet 小波阈值实例
Jan 09 Python
python Tkinter版学生管理系统
Feb 20 Python
pyqt5之将textBrowser的内容写入txt文档的方法
Jun 21 Python
使用apiDoc实现python接口文档编写
Nov 19 Python
python从内存地址上加载python对象过程详解
Jan 08 Python
使用Python pip怎么升级pip
Aug 11 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中循环语句的用法介绍
2012/01/30 PHP
PHP函数之日期时间函数date()使用详解
2013/09/09 PHP
php递归删除指定文件夹的方法小结
2015/04/20 PHP
php关键字仅替换一次的实现函数
2015/10/29 PHP
zend framework重定向方法小结
2016/05/28 PHP
无缝滚动改进版支持上下左右滚动(封装成函数)
2012/12/04 Javascript
javascript简单实现类似QQ头像弹出效果的方法
2015/08/03 Javascript
分享两款带遮罩的jQuery弹出框
2015/12/30 Javascript
JS去除空格和换行的正则表达式(推荐)
2016/06/14 Javascript
利用AngularJs实现京东首页轮播图效果
2016/09/08 Javascript
jQuery中fadein与fadeout方法用法示例
2016/09/16 Javascript
Bootstrap table简单使用总结
2017/02/15 Javascript
javascript基础练习之翻转字符串与回文
2017/02/20 Javascript
详解webpack+angular2开发环境搭建
2017/06/28 Javascript
Jquery中.bind()、.live()、.delegate()和.on()之间的区别详解
2017/08/01 jQuery
详解Vue-Cli 异步加载数据的一些注意点
2017/08/12 Javascript
JavaScript中的高级函数
2018/01/04 Javascript
vue cli2.0单页面title修改方法
2018/06/07 Javascript
Vue三种常用传值示例(父传子、子传父、非父子)
2018/07/24 Javascript
Koa 使用小技巧(小结)
2018/10/22 Javascript
一篇文章弄懂javascript中的执行栈与执行上下文
2019/08/09 Javascript
用VsCode编辑TypeScript的实现方法
2020/05/07 Javascript
Vue和React有哪些区别
2020/09/12 Javascript
vue实现防抖的实例代码
2021/01/11 Vue.js
用Python实现换行符转换的脚本的教程
2015/04/16 Python
Python数据可视化正态分布简单分析及实现代码
2017/12/04 Python
Python Django 简单分页的实现代码解析
2019/08/21 Python
python使用turtle库绘制奥运五环
2020/02/24 Python
python3 使用openpyxl将mysql数据写入xlsx的操作
2020/05/15 Python
Python使用Pygame绘制时钟
2020/11/29 Python
python中xlutils库用法浅析
2020/12/29 Python
Html5+JS实现手机摇一摇功能
2015/04/24 HTML / CSS
全球知名的珠宝首饰品牌:Kay Jewelers
2018/02/11 全球购物
员工规章制度范本
2015/08/07 职场文书
离婚协议书范本(2016最新版)
2016/03/18 职场文书
Python实现信息管理系统
2022/06/05 Python