基于python的Tkinter编写登陆注册界面


Posted in Python onJune 30, 2017

tkinter创建登陆注册界面,供大家参考,具体内容如下

import tkinter as tk
from tkinter import messagebox
 
#设置窗口居中
def window_info():
 ws = window.winfo_screenwidth()
 hs = window.winfo_screenheight()
 x = (ws / 2) - 200
 y = (hs / 2) - 200
 print("%d,%d" % (ws, hs))
 return x,y
 
#设置登陆窗口属性
window = tk.Tk()
window.title('欢迎使用停车场收费系统')
a,b=window_info()
window.geometry("450x300+%d+%d"%(a,b))
 
#登陆界面的信息
tk.Label(window,text="停车场收费系统",font=("宋体",32)).place(x=80,y=50)
tk.Label(window,text="账号:").place(x=120,y=150)
tk.Label(window,text="密码:").place(x=120,y=190)
#显示输入框
var_usr_name = tk.StringVar()
#显示默认账号
var_usr_name.set('1400370101')
entry_usr_name=tk.Entry(window,textvariable=var_usr_name)
entry_usr_name.place(x=190,y=150)
var_usr_pwd = tk.StringVar()
#设置输入密码后显示*号
entry_usr_pwd = tk.Entry(window,textvariable=var_usr_pwd,show='*')
entry_usr_pwd.place(x=190,y=190)
 
#登陆函数
def usr_login():
 #获取输入的账号密码
 usr_name = var_usr_name.get()
 usr_pwd = var_usr_pwd.get()
 #获取存储的账户信息,此处使用的是数据库,调用数据库查询函数,也可以使用其他方式,如文件等
 dicts = SQL.load('login')
 print(dicts)
 bool = False
 for row in dicts:
 print(row.get("name"))
 if usr_name == row["name"]:
  bool = True
  pwd = row["password"]
  print(row)
 if bool == True:
 if usr_pwd == pwd:
  tk.messagebox.showinfo(title='Welcome', message='How are you?' +usr_name)
  mainwindow()
 else:
  tk.messagebox.showerror(message='对不起,输入错误,请重试!')
 else:
 is_sign_up = tk.messagebox.askyesno('Welcome', '您还没有注册,是否现在注册呢?')
 if is_sign_up:
  usr_sign_up()
#注册账号
def usr_sign_up():
 def sign_to_Pyhon():
 np = new_pwd.get()
 npc = new_pwd_confirm.get()
 nn = new_name.get()
 
 dicts = SQL.load('login')
 print(dicts)
 bool = False
 for row in dicts:
  if nn == row["name"]:
  bool = True
  print(row)
 if np!=npc:
  tk.messagebox.showerror('对不起','两次密码输入不一致!')
 elif bool:
  tk.messagebox.showerror(('对不起','此账号已经存在!'))
 else:
  try:
  SQL.insert_login(str(nn),str(np))
  tk.messagebox.showinfo('Welcome','您已经注册成功!')
  except:
  tk.messagebox.showerror(('注册失败!'))
  window_sign_up.destroy()
 #创建top窗口作为注册窗口
 window_sign_up = tk.Toplevel(window)
 window_sign_up.geometry('350x200')
 window_sign_up.title('注册')
 
 new_name = tk.StringVar()
 new_name.set('1400370115')
 tk.Label(window_sign_up,text='账号:').place(x=80,y=10)
 entry_new_name = tk.Entry(window_sign_up,textvariable=new_name)
 entry_new_name.place(x=150,y=10)
 
 new_pwd = tk.StringVar()
 tk.Label(window_sign_up, text='密码:').place(x=80, y=50)
 entry_usr_pwd = tk.Entry(window_sign_up,textvariable=new_pwd,show='*')
 entry_usr_pwd.place(x=150, y=50)
 
 new_pwd_confirm = tk.StringVar()
 tk.Label(window_sign_up,text='再次输入:').place(x=80,y=90)
 entry_usr_pwd_again = tk.Entry(window_sign_up,textvariable=new_pwd_confirm,show='*')
 entry_usr_pwd_again.place(x=150, y=90)
 
 btn_again_sign_up = tk.Button(window_sign_up,text='注册',command=sign_to_Pyhon)
 btn_again_sign_up.place(x=160,y=130)
 
#登陆和注册按钮
btn_login = tk.Button(window,text="登陆",command=usr_login)
btn_login.place(x=170,y=230)
btn_sign_up = tk.Button(window,text="注册",command=usr_sign_up)
btn_sign_up.place(x=270,y=230)
 
window.mainloop()

这是我写的登陆注册界面,使用tkinter,可以实现简单的登陆和注册账号,使用的主要是Label,Entry和Button组件。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
寻找网站后台地址的python脚本
Sep 01 Python
Python比较2个时间大小的实现方法
Apr 10 Python
Python操作Excel插入删除行的方法
Dec 10 Python
python多线程http压力测试脚本
Jun 25 Python
pytorch在fintune时将sequential中的层输出方法,以vgg为例
Aug 20 Python
opencv实现简单人脸识别
Feb 19 Python
python3中rank函数的用法
Nov 27 Python
Python基于BeautifulSoup爬取京东商品信息
Jun 01 Python
django使用channels实现通信的示例
Oct 19 Python
Python实现冒泡排序算法的完整实例
Nov 04 Python
Python 使用xlwt模块将多行多列数据循环写入excel文档的操作
Nov 10 Python
Python实现随机爬山算法
Jan 29 Python
Python使用微信SDK实现的微信支付功能示例
Jun 30 #Python
python实现的二叉树定义与遍历算法实例
Jun 30 #Python
Python使用openpyxl读写excel文件的方法
Jun 30 #Python
python中关于for循环的碎碎念
Jun 30 #Python
Python实现的微信公众号群发图片与文本消息功能实例详解
Jun 30 #Python
python实现给微信公众号发送消息的方法
Jun 30 #Python
Python信息抽取之乱码解决办法
Jun 29 #Python
You might like
PHP仿盗链代码
2012/06/03 PHP
Erlang的运算符(比较运算符,数值运算符,移位运算符,逻辑运算符)
2012/07/23 PHP
PHP无限分类(树形类)
2013/09/28 PHP
php中的filesystem文件系统函数介绍及使用示例
2014/02/13 PHP
javascript 命名规则 变量命名规则
2010/02/25 Javascript
js函数调用常用方法详解
2012/12/03 Javascript
浅析XMLHttpRequest的缓存问题
2013/12/13 Javascript
利用jquery.qrcode在页面上生成二维码且支持中文
2014/02/12 Javascript
jQuery分别获取选中的复选框值的示例
2014/06/17 Javascript
javascript实现类似超链接的效果
2014/12/26 Javascript
JS利用cookies设置每隔24小时弹出框
2017/04/20 Javascript
node.js+jQuery实现用户登录注册AJAX交互
2017/04/28 jQuery
Layui table 组件的使用之初始化加载数据、数据刷新表格、传参数
2017/09/11 Javascript
JavaScript 数组的进化与性能分析
2017/09/18 Javascript
详解vue mixins和extends的巧妙用法
2017/12/20 Javascript
详解angularjs4部署文件过大解决过程
2018/12/05 Javascript
详解vue的数据劫持以及操作数组的坑
2019/04/18 Javascript
JQuery通过键盘控制键盘按下与松开触发事件
2020/08/07 jQuery
Python中实现结构相似的函数调用方法
2015/03/10 Python
Python基于有道实现英汉字典功能
2015/07/25 Python
基于Python pip用国内镜像下载的方法
2018/06/12 Python
Python中栈、队列与优先级队列的实现方法
2019/06/30 Python
pandas计算最大连续间隔的方法
2019/07/04 Python
在Python中os.fork()产生子进程的例子
2019/08/08 Python
pyinstaller打包程序exe踩过的坑
2019/11/19 Python
关于webview适配H5上传照片或者视频文件的方法
2020/11/04 HTML / CSS
Jo Malone美国官网:祖玛珑香水
2017/03/27 全球购物
福克斯租车:Fox Rent A Car
2017/04/13 全球购物
大学生个人自荐信样本
2014/03/02 职场文书
献爱心捐款倡议书
2014/05/14 职场文书
财务稽核岗位职责
2015/04/13 职场文书
向雷锋同志学习倡议书
2015/04/27 职场文书
建党伟业的观后感
2015/06/01 职场文书
大学军训通讯稿
2015/07/18 职场文书
对PyTorch中inplace字段的全面理解
2021/05/22 Python
MySQL定时备份数据库(全库备份)的实现
2021/09/25 MySQL