基于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实现的简单万年历例子分享
Apr 25 Python
python排序方法实例分析
Apr 30 Python
Python2.7+pytesser实现简单验证码的识别方法
Dec 29 Python
更换Django默认的模板引擎为jinja2的实现方法
May 28 Python
使用Python实现从各个子文件夹中复制指定文件的方法
Oct 25 Python
python用post访问restful服务接口的方法
Dec 07 Python
python通过SSH登陆linux并操作的实现
Oct 10 Python
Python selenium自动化测试模型图解
Apr 15 Python
python如何随机生成高强度密码
Aug 19 Python
详解python tkinter包获取本地绝对路径(以获取图片并展示)
Sep 04 Python
Django扫码抽奖平台的配置过程详解
Jan 14 Python
基于tensorflow权重文件的解读
May 26 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类的封装与继承详解
2015/09/29 PHP
php生成curl命令行的方法
2015/12/14 PHP
Yii配置与使用memcached缓存的方法
2016/07/13 PHP
用jscript实现新建word文档
2007/06/15 Javascript
jquery 插件开发 extjs中的extend用法小结
2013/01/04 Javascript
jQuery遍历Form示例代码
2013/09/03 Javascript
JavaScript中的原型链prototype介绍
2014/12/30 Javascript
JavaScript实现动画打开半透明提示层的方法
2015/04/21 Javascript
JavaScript实现点击按钮切换网页背景色的方法
2015/10/17 Javascript
jQuery Easyui快速入门教程
2016/08/21 Javascript
ES6入门教程之Iterator与for...of循环详解
2017/05/17 Javascript
Layui 设置select下拉框自动选中某项的方法
2018/08/14 Javascript
vue项目打包部署到服务器的方法示例
2018/08/27 Javascript
python调用Matplotlib绘制分布点并且添加标签
2018/05/31 Python
pandas 按照特定顺序输出的实现代码
2018/07/10 Python
Python实现的读取/更改/写入xml文件操作示例
2018/08/30 Python
python最小生成树kruskal与prim算法详解
2019/01/17 Python
Python数据类型之List列表实例详解
2019/05/08 Python
人工神经网络算法知识点总结
2019/06/11 Python
从列表或字典创建Pandas的DataFrame对象的方法
2019/07/06 Python
Flask框架单例模式实现方法详解
2019/07/31 Python
Python使用微信itchat接口实现查看自己微信的信息功能详解
2019/08/22 Python
python 模拟创建seafile 目录操作示例
2019/09/26 Python
在python tkinter界面中添加按钮的实例
2020/03/04 Python
Python工程师必考的6个经典面试题
2020/06/28 Python
澳大利亚快时尚鞋类市场:Billini
2018/05/20 全球购物
伦敦一卡通:The London Pass
2018/11/30 全球购物
介绍一下HDLC(High-Level Data Link Control)高层数据链路协议
2012/01/21 面试题
我的长生果教学反思
2014/04/28 职场文书
安全宣传标语口号
2014/06/06 职场文书
法制宣传标语集锦
2014/06/25 职场文书
群众路线教育实践活动整改方案(个人版)
2014/10/25 职场文书
网络营销计划
2015/01/17 职场文书
教师个人自我评价
2015/03/04 职场文书
Mysql中一千万条数据怎么快速查询
2021/12/06 MySQL
清空 Oracle 安装记录并重新安装
2022/04/26 Oracle