基于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中列表元素连接方法join用法实例
Apr 07 Python
Python 搭建Web站点之Web服务器与Web框架
Nov 06 Python
Python使用matplotlib绘制正弦和余弦曲线的方法示例
Jan 06 Python
TensorFlow高效读取数据的方法示例
Feb 06 Python
Numpy中转置transpose、T和swapaxes的实例讲解
Apr 17 Python
对命令行模式与python交互模式介绍
May 12 Python
python xlsxwriter创建excel图表的方法
Jun 11 Python
python内置数据类型之列表操作
Nov 12 Python
微信公众号token验证失败解决方案
Jul 22 Python
解决Pytorch中关于model.eval的问题
May 22 Python
Python 循环读取数据内存不足的解决方案
May 25 Python
Python图片处理之图片裁剪教程
May 27 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 Smarty 字符比较代码
2011/02/27 PHP
php实现天干地支计算器示例
2014/03/14 PHP
php数组分页实现方法
2016/04/30 PHP
PHP实现的简单分页类及用法示例
2016/05/06 PHP
php实现页面纯静态的实例代码
2017/06/21 PHP
Laravel框架实现model层的增删改查(CURD)操作示例
2018/05/12 PHP
基于jquery的一个图片hover的插件
2010/04/24 Javascript
JQuery扩展插件Validate—6 radio、checkbox、select的验证
2011/09/05 Javascript
JQUERY实现左侧TIPS滑进滑出效果示例
2013/06/27 Javascript
intro.js 页面引导简单用法 分享
2013/08/06 Javascript
利用jquery写的左右轮播图特效
2014/02/12 Javascript
JavaScript 开发工具webstrom使用指南
2014/12/09 Javascript
什么是MEAN?JavaScript编程中的MEAN是什么意思?
2014/12/18 Javascript
使用javascript实现json数据以csv格式下载
2015/01/09 Javascript
基于jquery实现的自动补全功能
2015/03/12 Javascript
JavaScript中对DOM节点的访问、创建、修改、删除
2015/11/16 Javascript
Three.js学习之几何形状
2016/08/01 Javascript
JavaScript仿微信打飞机游戏
2020/07/05 Javascript
jquery请求servlet实现ajax异步请求的示例
2017/06/03 jQuery
通过封装scroll.js 获取滚动条的值
2018/07/13 Javascript
Python Queue模块详细介绍及实例
2016/12/27 Python
使用apidocJs快速生成在线文档的实例讲解
2018/02/07 Python
对Python多线程读写文件加锁的实例详解
2019/01/14 Python
Python3中exp()函数用法分析
2019/02/19 Python
Python3中的最大整数和最大浮点数实例
2019/07/09 Python
Python递归调用实现数字累加的代码
2020/02/25 Python
python3 使用openpyxl将mysql数据写入xlsx的操作
2020/05/15 Python
Python调用SMTP服务自动发送Email的实现步骤
2021/02/07 Python
英文自荐信
2013/12/15 职场文书
初中校园之声广播稿
2014/01/15 职场文书
电话客服工作职责
2014/07/27 职场文书
税务干部群众路线教育实践活动对照检查材料
2014/09/20 职场文书
安全先进班组材料
2014/12/26 职场文书
单独二胎证明
2015/06/24 职场文书
新学期家长寄语2016
2015/12/03 职场文书
HR在给员工开具离职证明时,需要注意哪些问题?
2019/07/03 职场文书