IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python GUI登录、注册与主界面的跳转 -> 正文阅读

[Python知识库]Python GUI登录、注册与主界面的跳转

文章背景

本文将tkinter实现页面跳转这篇文章,添加了注册界面,添加新的登录逻辑,以加快读者学习Python GUI的进度。

优化内容

注册界面代码

from Login_Page import *

class SignUpPage(object):
    def __init__(self, master=None):
        self.root = master  # 定义内部变量root
        self.root.geometry('%dx%d' % (300, 180))  # 设置窗口大小
        self.username = StringVar()
        self.password = StringVar()
        self.createPage()

    def createPage(self):
        self.page = Frame(self.root)  # 创建Frame
        self.page.pack()
        Label(self.page).grid(row=0, stick=W)
        Label(self.page, text='账户: ').grid(row=1, stick=W, pady=10)
        Entry(self.page, textvariable=self.username).grid(row=1, column=1, stick=E)
        Label(self.page, text='密码: ').grid(row=2, stick=W, pady=10)
        Entry(self.page, textvariable=self.password).grid(row=2, column=1, stick=E)
        Button(self.page, text='注册', command=self.SignUpCheck).grid(row=3, stick=W, pady=10)
        Button(self.page, text='退出', command=self.page.quit).grid(row=3, column=1, stick=E)

    def SignUpCheck(self):
        name = self.username.get()
        secret = self.password.get()
        if name != '' and secret != '':
            self.page.destroy()
            LoginPage(self.root)
        else:
            showinfo(title='错误', message='用户名及密码不能为空!')

Tip
本文中注册界面的密码无*掩饰,若需要按登录界面密码输入框,按以下代码进行修改。

Entry(self.page, textvariable=self.password, show='*').grid(row=2, column=1, stick=E)

新登录逻辑添加

本文的登录逻辑是源于基于Python设计一个简单GUI界面实现模拟登录

 def loginCheck(self):
        name = self.username.get()
        usr_pwd = self.password.get()
        if name == "user1" and usr_pwd == "888":
            login_success = "登录成功"
            showinfo(message=login_success)
            self.page.destroy()
            MainPage(self.root)

        elif name == "user1" and usr_pwd != "888":
            login_wrong_pwd = "密码错误,请重新输入正确的密码!"
            showinfo( message=login_wrong_pwd)
            self.password.delete('0', 'end')
            self.password.focus_set()
        else:
            user_no_exist = "用户不存在!"
            showinfo( message=user_no_exist)
            self.username .delete('0', 'end')
            self.username .focus_set()
            self.password.delete('0', 'end')

注册按钮逻辑绑定

Button(self.page, text='注册', command=self.Signup).grid(row=3, column=1, stick=E)

登录与注册界面跳转逻辑

登录界面要跳转到注册界面时,需要将原有的登录界面消失,再调用注册界面所在的类,方可出现注册界面,即登录界面成功跳转到注册界面。

 def Signup(self):
        self.page.destroy()
        SignUpPage(self.root)
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-12-03 12:59:47  更:2021-12-03 13:01:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 2:16:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码