基于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实现将pvr格式转换成pvr.ccz的方法
Apr 28 Python
在Python中使用base64模块处理字符编码的教程
Apr 28 Python
python实现带错误处理功能的远程文件读取方法
Apr 29 Python
python文件的md5加密方法
Apr 06 Python
python中执行shell的两种方法总结
Jan 10 Python
Python+Selenium+PIL+Tesseract自动识别验证码进行一键登录
Sep 20 Python
Django 日志配置按日期滚动的方法
Jan 31 Python
OpenCV+Python--RGB转HSI的实现
Nov 27 Python
Selenium 滚动页面至元素可见的方法
Mar 18 Python
使用PyCharm安装pytest及requests的问题
Jul 31 Python
Python爬取豆瓣数据实现过程解析
Oct 27 Python
python游戏开发Pygame框架
Apr 22 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
将兴奋、喜悦和坎加斯带到戴安娜:亚马逊公主
2020/03/03 欧美动漫
模拟xcopy的函数
2006/10/09 PHP
php通过文件头检测文件类型通用代码类(zip,rar等)
2010/10/19 PHP
php中echo()和print()、require()和include()等易混淆函数的区别
2012/02/22 PHP
php生成图片缩略图的方法
2015/04/07 PHP
PHP实现适用于自定义的验证码类
2016/06/15 PHP
js获得地址栏?问号后参数的方法
2013/08/08 Javascript
JS中多步骤多分步的StepJump组件实例详解
2016/04/01 Javascript
第五篇Bootstrap 排版
2016/06/21 Javascript
关于动态执行代码(js的Eval)实例详解
2016/08/15 Javascript
Javasript设计模式之链式调用详解
2018/04/26 Javascript
javascript显示动态时间的方法汇总
2018/07/06 Javascript
JS+canvas画布实现炫酷的旋转星空效果示例
2019/02/13 Javascript
详解小程序循环require之坑
2019/03/08 Javascript
pm2启动ssr失败的解决方法
2019/06/29 Javascript
vue+elementui 对话框取消 表单验证重置示例
2019/10/29 Javascript
python实现类似ftp传输文件的网络程序示例
2014/04/08 Python
django用户登录和注销的实现方法
2018/07/16 Python
解决Django一个表单对应多个按钮的问题
2019/07/18 Python
详解在Python中以绝对路径或者相对路径导入文件的方法
2019/08/30 Python
Python 解析简单的XML数据
2020/07/24 Python
ubuntu16.04升级Python3.5到Python3.7的方法步骤
2020/08/20 Python
详解python中的异常捕获
2020/12/15 Python
海信商城:海信电视、科龙空调、容声冰箱官方专卖
2017/02/07 全球购物
如何在Shell脚本中使用函数
2015/09/06 面试题
保险专业大专生求职信
2013/10/26 职场文书
大学生简历的个人自我评价
2013/12/04 职场文书
采购部部门职责
2013/12/15 职场文书
企业给企业的表扬信
2014/01/13 职场文书
初三物理教学反思
2014/01/21 职场文书
八一演出活动方案
2014/02/03 职场文书
公司股东合作协议书
2014/09/14 职场文书
五四青年节活动总结
2015/02/10 职场文书
李强优秀员工观后感
2015/06/16 职场文书
bat批处理之字符串操作的实现
2022/03/16 Python