鱼C论坛

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

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

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

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

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

x
from tkinter import *
import webbrowser
import pickle
import os
import os.path
from tkinter.messagebox import showinfo

class Login:
    def __init__(self):

        # 首先进行相关文件处理
        if os.path.exists('User_dict.pkl'):
            file1 = open('User_dict.pkl', 'rb')
            self.temp_dict = pickle.load(file1)
            file1.close()
        elif not os.path.exists('User_dict.pkl'):
            self.temp_dict = {'username': 'password'}
            file1 = open('User_dict.pkl', 'wb')
            pickle.dump(self.temp_dict, file1)
            file1.close()
        self.judgeframe3 = 0

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

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

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

    def creatAccount(self):
        if self.judgeframe3 == 1:
            self.labelframe3.grid_forget()
            self.judgeframe3 = 0
        self.labelframe3 = LabelFrame(self.root, text="注册登录", padx=30, pady=30)
        self.labelframe3.grid(row=2, column=1, padx=10, pady=10)
        self.judgeframe3 = 1
        self.label_username = Label(self.labelframe3, text='用户名:', padx=5, pady=5)
        self.label_username.grid(row=2, column=1)
        self.label_password1 = Label(self.labelframe3, text='请输入密码:', padx=5, pady=5)
        self.label_password1.grid(row=3, column=1)
        self.label_password2 = Label(self.labelframe3, text='请再次输入密码:', padx=5, pady=5)
        self.label_password2.grid(row=4, column=1)

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

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

        self.user_name = self.entry_username.get()
        self.password1 = self.entry_password1.get()
        self.password2 = self.entry_password2.get()
        if self.user_name in self.temp_dict:
            self.label3 = Label(self.labelframe3, text="账号已存在", padx=5, pady=5, fg='red')
            self.label3.grid(row=5, column=1, padx=5, pady=5)
        else:
            if self.password1 == self.password2:
                self.password = self.password1
                if self.password:
                    self.dict1 = {self.user_name: self.password}
                    self.temp_dict.update(self.dict1)
                    file1 = open('User_dict.pkl', 'wb')
                    pickle.dump(self.temp_dict, file1)
                    file1.close()
                    self.label3 = Label(self.labelframe3, text="注册成功!\n请返回登陆", padx=5, pady=5, fg='red')
                    self.label3.grid(row=5, column=1, padx=5, pady=5)
                else:
                    self.label3 = Label(self.labelframe3, text="密码不能为空!", padx=5, pady=5, fg='red')
                    self.label3.grid(row=5, column=1, padx=5, pady=5)

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

    # ------------------------------------点击登陆后的行为--------------------------------------------------
    def hadAccount(self):
        print('成功点击登录')
        if self.judgeframe3 == 1:
            self.labelframe3.grid_forget()
            self.judgeframe3 = 0
        self.labelframe3 = LabelFrame(self.root, text="账号密码登录", padx=30, pady=50)
        self.labelframe3.grid(row=2, column=1, padx=10, pady=10)
        self.label_username0 = Label(self.labelframe3, text='用户名:', padx=5, pady=5)
        self.label_username0.grid(row=2, column=1)
        self.label_password0 = Label(self.labelframe3, text='请输入密码:', padx=5, pady=5)
        self.label_password0.grid(row=3, column=1)
        self.entry_username_0 = Entry(self.labelframe3)
        self.entry_username_0.grid(row=2, column=2, padx=10, pady=5)
        self.entry_password_0 = Entry(self.labelframe3, show='*')
        self.entry_password_0.grid(row=3, column=2, padx=10, pady=5)
        self.judgeframe3 = 1
        self.regist_button = Button(self.labelframe3, text='立即登录',bg='green', command=self.check_login)
        self.regist_button.grid(row=5, column=2, padx=10, pady=5)

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



login = Login()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-27 15:54:13 | 显示全部楼层
你好歹也把注册界面弄一个新的弹窗,这也太粗糙了吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

                               
登录/注册后可看大图

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

这个图片是上面代码的运行界面,如何在这个界面后面加一个大背景
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-2 19:13:54 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

说实话,我最讨厌360的这个搜索了,看着难受,能不能直接贴代码啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

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

如何解决添加大背景后登陆界面会被隐藏到背景后面
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-19 14:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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