鱼C论坛

 找回密码
 立即注册
查看: 1253|回复: 5

如何给已经做好的登录验证界面美化一下,比如添加一个大背景照片

[复制链接]
发表于 2020-7-26 21:40:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. from tkinter import *
  2. import webbrowser
  3. import pickle
  4. import os
  5. import os.path
  6. from tkinter.messagebox import showinfo

  7. class Login:
  8.     def __init__(self):

  9.         # 首先进行相关文件处理
  10.         if os.path.exists('User_dict.pkl'):
  11.             file1 = open('User_dict.pkl', 'rb')
  12.             self.temp_dict = pickle.load(file1)
  13.             file1.close()
  14.         elif not os.path.exists('User_dict.pkl'):
  15.             self.temp_dict = {'username': 'password'}
  16.             file1 = open('User_dict.pkl', 'wb')
  17.             pickle.dump(self.temp_dict, file1)
  18.             file1.close()
  19.         self.judgeframe3 = 0

  20.         # 然后生成图形界面
  21.         self.root = Tk()
  22.         self.root.title('欢迎登录')

  23.         self.labelframe2 = LabelFrame(self.root, text="登录程序", padx=30, pady=30)
  24.         self.labelframe2.grid(row=0, column=1, padx=10, pady=10)
  25.         self.label2 = Label(self.labelframe2, text="这是一个登录程序的演示!", padx=5, pady=5)
  26.         self.label2.grid(row=0, column=1, padx=5, pady=5)
  27.         self.button1 = Button(self.labelframe2, text=' 账户注册 ', bg='yellow',command=self.newAccount)
  28.         self.button1.grid(row=1, column=0)
  29.         self.button2 = Button(self.labelframe2, text=' 账户登录 ', bg='green',command=self.hadAccount)
  30.         self.button2.grid(row=1, column=2)
  31.         mainloop()

  32.     # ---------------------------------新建账户后的行为----------------------------------------
  33.     def newAccount(self):
  34.         print('点击成功')
  35.         self.creatAccount()

  36.     def creatAccount(self):
  37.         if self.judgeframe3 == 1:
  38.             self.labelframe3.grid_forget()
  39.             self.judgeframe3 = 0
  40.         self.labelframe3 = LabelFrame(self.root, text="注册登录", padx=30, pady=30)
  41.         self.labelframe3.grid(row=2, column=1, padx=10, pady=10)
  42.         self.judgeframe3 = 1
  43.         self.label_username = Label(self.labelframe3, text='用户名:', padx=5, pady=5)
  44.         self.label_username.grid(row=2, column=1)
  45.         self.label_password1 = Label(self.labelframe3, text='请输入密码:', padx=5, pady=5)
  46.         self.label_password1.grid(row=3, column=1)
  47.         self.label_password2 = Label(self.labelframe3, text='请再次输入密码:', padx=5, pady=5)
  48.         self.label_password2.grid(row=4, column=1)

  49.         self.entry_username = Entry(self.labelframe3)
  50.         self.entry_username.grid(row=2, column=2, padx=10, pady=5)
  51.         self.entry_password1 = Entry(self.labelframe3, show='*')
  52.         self.entry_password1.grid(row=3, column=2, padx=10, pady=5)
  53.         self.entry_password2 = Entry(self.labelframe3, show='*')
  54.         self.entry_password2.grid(row=4, column=2, padx=10, pady=5)
  55.         self.regist_button = Button(self.labelframe3, text=' 立即注册 ', bg='yellow',command=self.regist_new_Account)
  56.         self.regist_button.grid(row=5, column=2, padx=10, pady=5)

  57.     # 点击注册后的行为
  58.     def regist_new_Account(self):

  59.         self.user_name = self.entry_username.get()
  60.         self.password1 = self.entry_password1.get()
  61.         self.password2 = self.entry_password2.get()
  62.         if self.user_name in self.temp_dict:
  63.             self.label3 = Label(self.labelframe3, text="账号已存在", padx=5, pady=5, fg='red')
  64.             self.label3.grid(row=5, column=1, padx=5, pady=5)
  65.         else:
  66.             if self.password1 == self.password2:
  67.                 self.password = self.password1
  68.                 if self.password:
  69.                     self.dict1 = {self.user_name: self.password}
  70.                     self.temp_dict.update(self.dict1)
  71.                     file1 = open('User_dict.pkl', 'wb')
  72.                     pickle.dump(self.temp_dict, file1)
  73.                     file1.close()
  74.                     self.label3 = Label(self.labelframe3, text="注册成功!\n请返回登陆", padx=5, pady=5, fg='red')
  75.                     self.label3.grid(row=5, column=1, padx=5, pady=5)
  76.                 else:
  77.                     self.label3 = Label(self.labelframe3, text="密码不能为空!", padx=5, pady=5, fg='red')
  78.                     self.label3.grid(row=5, column=1, padx=5, pady=5)

  79.             else:
  80.                 self.label3 = Label(self.labelframe3, text="前后两次密码输入不一致", padx=5, pady=5, fg='red')
  81.                 self.label3.grid(row=5, column=1, padx=5, pady=5)

  82.     # ------------------------------------点击登陆后的行为--------------------------------------------------
  83.     def hadAccount(self):
  84.         print('成功点击登录')
  85.         if self.judgeframe3 == 1:
  86.             self.labelframe3.grid_forget()
  87.             self.judgeframe3 = 0
  88.         self.labelframe3 = LabelFrame(self.root, text="账号密码登录", padx=30, pady=50)
  89.         self.labelframe3.grid(row=2, column=1, padx=10, pady=10)
  90.         self.label_username0 = Label(self.labelframe3, text='用户名:', padx=5, pady=5)
  91.         self.label_username0.grid(row=2, column=1)
  92.         self.label_password0 = Label(self.labelframe3, text='请输入密码:', padx=5, pady=5)
  93.         self.label_password0.grid(row=3, column=1)
  94.         self.entry_username_0 = Entry(self.labelframe3)
  95.         self.entry_username_0.grid(row=2, column=2, padx=10, pady=5)
  96.         self.entry_password_0 = Entry(self.labelframe3, show='*')
  97.         self.entry_password_0.grid(row=3, column=2, padx=10, pady=5)
  98.         self.judgeframe3 = 1
  99.         self.regist_button = Button(self.labelframe3, text='立即登录',bg='green', command=self.check_login)
  100.         self.regist_button.grid(row=5, column=2, padx=10, pady=5)

  101.     def check_login(self):
  102.         self.user_name = self.entry_username_0.get()
  103.         self.input_password = self.entry_password_0.get()
  104.         if self.user_name in self.temp_dict:
  105.             if self.temp_dict[self.user_name] == self.input_password:
  106.                 showinfo(title='登录成功', message='欢迎进入')
  107.                 component = [label_username_0, label_password_0,\
  108.                              entry_username, entry_password, regist_button, label3]
  109.                 for i in component:
  110.                     i.destroy()
  111.             else:
  112.                 self.label3 = Label(self.labelframe3, text="密码错误!", padx=5, pady=5, fg='red')
  113.                 self.label3.grid(row=5, column=1, padx=5, pady=5)
  114.         else:
  115.             self.label3 = Label(self.labelframe3, text="用户名不存在!", padx=5, pady=5, fg='red')
  116.             self.label3.grid(row=5, column=1, padx=5, pady=5)



  117. login = Login()

复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-7-27 15:54:13 | 显示全部楼层
你好歹也把注册界面弄一个新的弹窗,这也太粗糙了吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-2 18:31:42 | 显示全部楼层

                               
登录/注册后可看大图

这个图片是上面代码的运行界面,如何在这个界面后面加一个大背景

这个图片是上面代码的运行界面,如何在这个界面后面加一个大背景
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-2 19:13:54 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-4 16:00:27 | 显示全部楼层
zltzlt 发表于 2020-8-2 19:13
可以参考:https://zhidao.baidu.com/question/1239462730454231659.html

说实话,我最讨厌360的这个搜索了,看着难受,能不能直接贴代码啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-6 18:34:52 | 显示全部楼层
如何解决大背景把登陆界面隐藏到后面,想让登陆界面一直显示在大背景上面

如何解决添加大背景后登陆界面会被隐藏到背景后面

如何解决添加大背景后登陆界面会被隐藏到背景后面
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-24 20:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表