问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

python用tkinter创建一个登录界面

发布网友 发布时间:2022-04-24 06:39

我来回答

2个回答

懂视网 时间:2022-04-28 09:39

python做一个登录注册界面的方法:首先初始化一个window界面,并使用画布实现欢迎的logo;然后用代码实现登录和注册按钮;接着并进行登录判断代码;最后完成注册界面即可。

【相关学习推荐:python视频教程】

python做一个登录注册界面的方法:

一、登录界面

1、首先初始化一个window界面

 window = tk.Tk()
 window.title('Welcome to Mofan Python')
 window.geometry('450x300')
 .
 .
 .
 window.mainloop()

2、界面需要一个欢迎的logo,主要使用画布实现

 #welcome image
 #创建一个200X500的画布
 canvas = tk.Canvas(window,height = 200,width = 500)
 #logo的路径
 image_file = tk.PhotoImage(file = 'E:welcome.gif')
 #什么位置插入logo图片
 image = canvas.create_image(0,0,anchor = 'nw',image = image_file)
 canvas.pack(side = 'top')

3、接下来主要是登录界面的代码实现

 tk.Label(window,text = 'Username:').place(x = 50,y = 150)
 tk.Label(window,text = 'Password:').place(x = 50,y = 190)
 
 var_usr_name = tk.StringVar()
 #默认值为MrZhangxd@python.com
 var_usr_name.set('MrZhangxd@python.com')
 var_usr_pwd = tk.StringVar()
 entry_usr_name = tk.Entry(window,textvariable = var_usr_name)
 entry_usr_name.place(x = 160,y = 150)
 
 entry_usr_pwd = tk.Entry(window,textvariable = var_usr_pwd,show ='*')
 entry_usr_pwd.place(x = 160,y = 190)

4、登录和注册按钮的实现代码

 #Login and Sign up button
 # command = usr_login 调用usr_login函数
 btn_login = tk.Button(window,text = 'Login',command = usr_login)
 btn_login.place(x = 170,y = 230)
 btn_sign_up = tk.Button(window,text = 'Sign up',command = usr_sign_up)
 btn_sign_up.place(x = 270,y = 230)

5、进行登录判断代码:主要用函数判断

声明usr_login函数

  def usr_login():
  usr_name = var_usr_name.get()
  usr_pwd = var_usr_pwd.get()
  try:
   with open('usrs_info,pickle','rb') as usr_file:
   usrs_info = pickle.load(usr_file)
  except FileNotFoundError:
   with open('usrs_info','wb') as usr_file:
   usrs_info = {'admin':'admin'}
   pickle.dump(usrs_info,usr_file)
  if usr_name in usrs_info:
   if usr_pwd == usrs_info[usr_name]:
   tk.messagebox.showinfo(title = 'Welcome',message = 'How are you?' + usr_name)
   else:
   tk.messagebox.showinfo(message = 'Error,your password is wrong,try again.')
  else:
   is_sign_up = tk.messagebox.askyesno('Welcome','You hava not sign up yet.Sign up today?')
  
   if is_sign_up:
   usr_sign_up()

登录用户不存在需要注册

二、注册界面

差不多和登录界面一样,然后不进行细细的说明了,有不懂地方的可以给下文邮件地址发邮箱。

 def usr_sign_up():
 def sign_to_Mofan_Python():
 
  np = new_pwd.get()
 
  npf = new_pwd_confirm.get()
 
  nn = new_name.get()
  with open('usrs_info','rb') as usr_file:
  exist_usr_info = pickle.load(usr_file)
  if np!= npf:
  tk.messagebox.showerror('Error','Password and confirm password must be the same!')
  elif nn in exist_usr_info:
  tk.messagebox.showerror('Error','The user has already signed up!')
  else:
  exist_usr_info[nn] = np
  with open('usrs_info.pickle','wb') as usr_file:
   pickle.dump(exist_usr_info,usr_file)
  tk.messagebox.showinfo('Welcome','You have successfully signed up!')
  window_sign_up.destroy()
 window_sign_up = tk.Toplevel(window)
 window_sign_up.geometry('350x200')
 window_sign_up.title('Sign up window')
 
 new_name = tk.StringVar()
 new_name.set('MrZhangxd@python.com')
 tk.Label(window_sign_up,text = 'Username:').place(x = 10,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 = 'Password:').place(x = 10,y = 50)
 entry_new_pwd = tk.Entry(window_sign_up,textvariable = new_pwd,show = '*')
 entry_new_pwd.place(x = 150,y = 50)
 
 new_pwd_confirm = tk.StringVar()
 tk.Label(window_sign_up,text = 'Confirm password:').place(x = 10,y = 90)
 entry_comfirm_sign_up = tk.Entry(window_sign_up,textvariable = new_pwd_confirm,show = '*')
 entry_comfirm_sign_up.place(x = 150,y = 90)
 
 btn_comfirm_sign_up = tk.Button(window_sign_up,text = 'Sign up',command = sign_to_Mofan_Python)
 btn_comfirm_sign_up.place(x = 150,y = 130)

三、运行界面截图

登录界面

2a0a175747b31c02bdafd6b25e42773.png

注册界面

ce7300012244eee0f30ee73ca126605.png

热心网友 时间:2022-04-28 06:47

import tkinter
import tkinter.ttk
import tkinter.messagebox

root = tkinter.Tk()
root.title("登录")
userlabel = tkinter.Label(root,text="用户名:")
passwordlabel = tkinter.Label(root,text="密码:")
userlabel.grid(row=0,column=0)
passwordlabel.grid(row=1,column=0)
userentry = tkinter.ttk.Entry(root)
passwordentry = tkinter.ttk.Entry(root,show="●")
userentry.grid(row=0,column=1,padx=10,pady=2)
passwordentry.grid(row=1,column=1,padx=10,pady=2)

def get():
tkinter.messagebox.showinfo("结果","用户名:" + userentry.get() + "\n密码:" + passwordentry.get())

yes = tkinter.ttk.Button(root,text="确定",command=get)
yes.grid(row=2,column=1)
root.mainloop()

效果图

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我老公独自开车和别车相撞,老公的车当时翻了车,人无大碍车很惨。被撞... 老公是否出轨了? Word中设置图文框位置有妙招 员工两个月没上班怎么解除劳动合同 舌苔发黄并且有口臭怎么回事 舌苔发黄 口干舌燥 舌苔发黄 口干是什么原因 网络营销怎样做?教你4步做好免费推广 在八廓街旅行有哪些当地特产值得推荐? 拉萨的哪些特产美食是游客极力安利的? “python”如何用“tkinter”模块打开文件? 5号充电电池的容量多少? 五号充电电池2700毫安跟2000,1300 有什么区别? 充电电池5号的一般买多少毫安比较耐用些? 那种能用5号电池给手机充电的东西叫什么?5号电池一般有多少毫安? 5号的可充电电池,现在最大容量是多少的? 5号充电电池最大是多少毫安时? 营销管培生是干什么的 成为希尔顿或万豪的管培生有什么要求? 联合利华的管培生有什么要求呢? 观适健蓝莓咀嚼片儿童可以吃吗? 管培生是什么意思?和普通实习生有区别吗? 小孩子能吃蓝莓片吗? 银行管理培训生需要具备什么条件? 职场菜鸟求问外企管培生是什么意思?可以考虑吗? 我家的孩子14个月了可以吃蓝莓吗 猎头顾问管理培训生? 招聘中管培生很常见,管培生真的有意义吗? 蓝莓幼儿可以吃吗。 2018中国银行招聘管培生岗位的条件有哪些? python中用tkinter模块怎么打开文件? Python 如何用tkinter读取本地网页并显示在软件界面内? Python 中用 Tkinter GUI编程 python 用Tkinter.Text设置了文本框之后如何获取输入内容 python的tkinter如何获取输入框中的值 如何在python中导入Tkinter python如何用像素规定tkinter模块里label或button的大小 Python中tkinter包如何提取文本框文字到函数之外? 关于微笑的英语名言 谁能告诉我关于微笑或放松或生活态度这方面的好的英文句子 含有smile的英语句子 关于爱情和微笑的句子【英语】 给老师的毕业赠言(英文) 表示笑的英语词语 给英语老师的毕业赠言 一篇关于微笑的英语小短文~! 给英语老师的毕业赠言该怎么写? 微笑宝贝英语怎说说 写给英语老师的毕业赠言,要有点英语化的,掺点英语 关于微笑的英语演讲