基于python的Tkinter编写登陆注册界面

作者:木子宣 时间:2022-12-20 09:44:30 

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,Tkinter,登陆,注册
0
投稿

猜你喜欢

  • 几个javascript显示加载进度条代码

    2008-01-19 10:52:00
  • Python 根据相邻关系还原数组的两种方式(单向构造和双向构造)

    2023-09-24 17:08:06
  • Python中super()的理解以及应用场景实例

    2021-09-13 08:16:21
  • go语言中的return语句

    2024-05-28 15:22:09
  • 浅谈Vue3 父子传值

    2024-05-28 15:59:21
  • python 获取字典特定值对应的键的实现

    2022-07-01 19:25:21
  • javascript实现简易计算器

    2024-05-02 16:29:30
  • 详解Python中元组的三个不常用特性

    2021-09-02 05:49:35
  • 产品列表到底应该怎么做?

    2009-01-02 16:34:00
  • Python中使用item()方法遍历字典的例子

    2023-01-28 13:38:57
  • Hibernate4在MySQL5.1以上版本创建表出错 type=InnDB

    2024-01-14 23:45:17
  • 解析mysql 5.5字符集问题

    2024-01-13 09:01:54
  • Golang语言如何高效拼接字符串详解

    2023-07-11 03:46:57
  • Python APScheduler执行使用方法详解

    2023-03-01 03:21:13
  • js DOM模型操作

    2024-05-13 09:37:18
  • Sublime Text4 配置 Python3 环境、代码提示、编译报错的解决方案

    2021-09-24 12:00:03
  • 网站导航设计模式指南

    2011-03-04 16:12:00
  • mysql 5.7版本修改密码的简单方法

    2024-01-28 06:14:38
  • python实现三次密码验证的示例

    2022-01-24 16:34:25
  • 基于Python+Turtle实现绘制简易的大风车

    2021-02-25 18:52:11
  • asp之家 网络编程 m.aspxhome.com