1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
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组件。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。