【Python】实战:实现GUI登录界面

实现GUI登录界面

-需求:使用Python第三方库wxPython实现登录界面,需要降低Python解释器的版本Python3.8

安装wxPython

如果你还没有安装 wxPython,可以使用以下命令进行安装:

bash 复制代码
pip install wxPython==4.1.1

如果你的版本不是对应的python3.8,那么可以通过以下命令来查看当前解释器版本:

bash 复制代码
python --version

我这里的版本是3.12对应we的版本应该是

bash 复制代码
pip install wxPython==4.2.1

代码实现:

python 复制代码
import wx  

class LoginFrame(wx.Frame):  
    def __init__(self):  
        super().__init__(parent=None, title='登录界面', size=(300, 200))  
        panel = wx.Panel(self)  
        
        # 用户名标签和文本框  
        username_label = wx.StaticText(panel, label='用户名:', pos=(20, 30))  
        self.username_text = wx.TextCtrl(panel, pos=(100, 30))  

        # 密码标签和文本框  
        password_label = wx.StaticText(panel, label='密码:', pos=(20, 70))  
        self.password_text = wx.TextCtrl(panel, pos=(100, 70), style=wx.TE_PASSWORD)  

        # 登录按钮  
        login_button = wx.Button(panel, label='登录', pos=(100, 110))  
        login_button.Bind(wx.EVT_BUTTON, self.on_login)  

        self.Show()  

    def on_login(self, event):  
        username = self.username_text.GetValue()  
        password = self.password_text.GetValue()  

        # 简单的用户名和密码验证  
        if username == "admin" and password == "password":  
            wx.MessageBox('登录成功!', '提示', wx.OK | wx.ICON_INFORMATION)  
        else:  
            wx.MessageBox('用户名或密码错误。', '错误', wx.OK | wx.ICON_ERROR)  

def main():  
    app = wx.App(False)  
    frame = LoginFrame()  
    app.MainLoop()  

if __name__ == '__main__':  
    main()

代码解释:

  1. 创建应用程序和框架:

    • 通过 wx.Frame 创建一个窗口。
    • 定义窗口标题与大小。
  2. 添加控件:

    • 使用 wx.StaticText 创建标签。
    • 使用 wx.TextCtrl 创建文本框,用于输入用户名和密码。密码框通过 style=wx.TE_PASSWORD 设定。
  3. 创建登录按钮:

    • 使用 wx.Button 创建一个按钮,并绑定 EVT_BUTTON 事件来处理点击操作。
  4. 处理登录事件:

    • 在 on_login 方法中获取用户输入,进行简单的用户名和密码验证,并通过 wx.MessageBox 显示结果。
  5. 运行应用程序:

    • 在 main 函数中创建 wx.App 实例,启动 GUI 的主循环。

使用说明

  • 启动程序后,会出现一个简单的登录界面。
  • 用户可以输入用户名和密码(在此示例中使用用户名"admin"和密码"password")。
  • 点击"登录"按钮会根据输入执行基本验证。
相关推荐
阿俊-全栈开发2 小时前
LikeShop 单商户SaaS商城分销模块二开:佣金计算与结算逻辑实现
java·开发语言·微服务·likeshop·likeshop开源商城·likeshop多商户
夏天拐跑了西瓜4 小时前
一文入门LangChain:从框架认知到构建你的第一个AI Agent
python·langchain·conda·agent
奕鼎竜瑆4 小时前
Solid 前端响应式开发从零到精通
前端·人工智能
动恰客流统计4 小时前
景区客流统计怎么做?兼顾管控与运营的实施方案解析
大数据·前端·人工智能
魔猴疯猿4 小时前
从0到1用Python开发第一个智能体
人工智能·python·深度学习·神经网络·机器学习
派小心.5 小时前
A/B测试工具免费版够用吗?
前端·数据分析
m0_380743875 小时前
C++中的freopen的用法实例详解
开发语言·c++
xiaoqi01955 小时前
机器学习因子分析实战:从量化特征到可视化决策
人工智能·python·机器学习
前端snow5 小时前
ai agent --- redis 缓存
前端
Escalating_xu6 小时前
【Python】基础语法(1):常量、变量、类型、输入输出与运算符
开发语言·python