基于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使用xlrd与xlwt对excel的读写和格式设定
Jan 21 Python
python2.7+selenium2实现淘宝滑块自动认证功能
Feb 24 Python
解决python删除文件的权限错误问题
Apr 24 Python
Python Series从0开始索引的方法
Nov 06 Python
Python2和Python3中urllib库中urlencode的使用注意事项
Nov 26 Python
python中使用 xlwt 操作excel的常见方法与问题
Jan 13 Python
django foreignkey外键使用的例子 相当于left join
Aug 06 Python
Python数据分析模块pandas用法详解
Sep 04 Python
在win64上使用bypy进行百度网盘文件上传功能
Jan 02 Python
Python getattr()函数使用方法代码实例
Aug 10 Python
基于python requests selenium爬取excel vba过程解析
Aug 12 Python
Python QT组件库qtwidgets的使用
Nov 02 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
ThinkPHP写第一个模块应用
2012/02/20 PHP
php实现的简单美国商品税计算函数
2015/07/13 PHP
详解php实现页面静态化原理
2017/06/21 PHP
javascript编程起步(第七课)
2007/01/10 Javascript
javascript String 的扩展方法集合
2008/06/01 Javascript
JSQL 基于客户端的成绩统计实现方法
2010/05/05 Javascript
jQuery EasyUI API 中文文档 - Tree树使用介绍
2011/11/19 Javascript
javascript获取选中的文本的方法代码
2013/10/30 Javascript
基于jquery实现瀑布流布局
2020/06/28 Javascript
HTML5游戏引擎LTweenLite实现的超帅动画效果(附demo源码下载)
2016/01/26 Javascript
基于jQuery和hwSlider实现内容左右滑动切换效果附源码下载(一)
2016/06/22 Javascript
Vue.js实现一个自定义分页组件vue-paginaiton
2016/09/05 Javascript
js封装tab标签页实例分享
2016/12/19 Javascript
jQuery简单判断值是否存在于数组中的方法示例
2018/04/17 jQuery
在小程序中使用Echart图表的示例代码
2018/08/02 Javascript
JavaScript的词法结构精华篇
2018/10/17 Javascript
微信小程序使用websocket通讯的demo,含前后端代码,亲测可用
2019/05/22 Javascript
微信小程序如何调用图片接口API并居中显示
2019/06/29 Javascript
[39:21]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.24
2019/09/10 DOTA
Python之父谈Python的未来形式
2016/07/01 Python
python如何拆分含有多种分隔符的字符串
2018/03/20 Python
用python处理MS Word的实例讲解
2018/05/08 Python
值得收藏的10道python 面试题
2019/04/15 Python
Python 实现数组相减示例
2019/12/27 Python
python实现梯度下降和逻辑回归
2020/03/24 Python
python爬虫请求头的使用
2020/12/01 Python
a标签下载链接的简单实现
2016/09/13 HTML / CSS
澳大利亚儿童和婴儿产品在线商店:Lime Tree Kids
2017/10/05 全球购物
Nebula美国官网:便携式投影仪
2019/03/15 全球购物
澳大利亚网上买书:Angus & Robertson
2019/07/21 全球购物
自主招生自荐信格式
2013/12/03 职场文书
大学军训感言1500字
2014/03/09 职场文书
2014年中职班主任工作总结
2014/12/16 职场文书
初中班干部工作总结
2015/08/10 职场文书
CSS3 制作的悬停缩放特效
2021/04/13 HTML / CSS
PostgreSQL13基于流复制搭建后备服务器的方法
2022/01/18 PostgreSQL