基于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 相关文章推荐
用pywin32实现windows模拟鼠标及键盘动作
Apr 22 Python
请不要重复犯我在学习Python和Linux系统上的错误
Dec 12 Python
python做量化投资系列之比特币初始配置
Jan 23 Python
Python实现对文件进行单词划分并去重排序操作示例
Jul 10 Python
win10系统下Anaconda3安装配置方法图文教程
Sep 19 Python
对Python3 * 和 ** 运算符详解
Feb 16 Python
Python-Tkinter Text输入内容在界面显示的实例
Jul 12 Python
Python FtpLib模块应用操作详解
Dec 12 Python
Python图像处理库PIL的ImageFilter模块使用介绍
Feb 26 Python
Django在Model保存前记录日志实例
May 14 Python
Python调用JavaScript代码的方法
Oct 27 Python
Python基础之元组与文件知识总结
May 19 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实现的功能是显示8条基色色带
2006/10/09 PHP
php中实现记住密码自动登录的代码
2011/03/02 PHP
php版微信公众平台接口开发之智能回复开发教程
2016/09/22 PHP
用于table内容排序
2006/07/21 Javascript
javascript options属性集合操作代码
2009/12/28 Javascript
JavaScript 判断一个对象{}是否为空对象的简单方法
2016/10/09 Javascript
微信小程序 表单Form实例详解(附源码)
2016/12/22 Javascript
Angular.Js中ng-include指令的使用与实现
2017/05/07 Javascript
vue translate peoject实现在线翻译功能【新手必看】
2018/06/07 Javascript
微信小程序分享功能之按钮button 边框隐藏和点击隐藏
2018/06/14 Javascript
javascript原型链学习记录之继承实现方式分析
2019/05/01 Javascript
转换layUI的数据表格中的日期格式方法
2019/09/19 Javascript
VUE 组件转换为微信小程序组件的方法
2019/11/06 Javascript
three.js欧拉角和四元数的使用方法
2020/07/26 Javascript
vue axios封装httpjs,接口公用配置拦截操作
2020/08/11 Javascript
[02:32]DOTA2亚洲邀请赛 VG战队巡礼
2015/02/03 DOTA
Python实现的排列组合计算操作示例
2017/10/13 Python
python批量替换页眉页脚实例代码
2018/01/22 Python
Python中数组,列表:冒号的灵活用法介绍(np数组,列表倒序)
2018/04/18 Python
python2 与 python3 实现共存的方法
2018/07/12 Python
Python操作rabbitMQ的示例代码
2019/03/19 Python
pandas删除行删除列增加行增加列的实现
2019/07/06 Python
python实现抠图给证件照换背景源码
2019/08/20 Python
Python作用域与名字空间原理详解
2020/03/21 Python
Otiumberg官网:英国半精致珠宝品牌
2021/01/16 全球购物
教师自我评价范例
2013/09/24 职场文书
重阳节登山活动方案
2014/02/03 职场文书
农村党员对照检查材料
2014/09/24 职场文书
财务工作犯错检讨书
2014/10/07 职场文书
房产公证书样本
2015/01/23 职场文书
应聘教师求职信范文
2015/03/20 职场文书
勇敢的心观后感
2015/06/09 职场文书
安全守法证明
2015/06/23 职场文书
关于办理居住证的介绍信模板
2019/11/27 职场文书
Python爬虫之爬取二手房信息
2021/04/27 Python
mysql获取指定时间段中所有日期或月份的语句(不设存储过程,不加表)
2021/06/18 MySQL