品牌型号:联想拯救者R7000
系统:Windows 10专业版
软件版本:pyqt 5.15.11
我们在使用Python做桌面应用开发时,PyQt是目前比较主流的GUI开发框架,具有兼容性强、控件多、运行稳定的特点,主要用于开发后台管理系统、数据监控工具、脚本可视化运行工具等。在开发后台管理系统时,可能需要搭建复杂的认证逻辑,例如需要实现登录界面、主界面相互跳转功能。在实际开发中,不仅要实现功能,还需要合理布局,美化页面。本文将为大家介绍PyQt如何制作界面,PyQt怎么实现登录界面、主界面相互跳转的相关内容。
一、PyQt如何制作界面
PyQt做应用开发的第一步就是制作页面,有两种方式制作界面,一是使用自带可视化工具Qt Designer,二是纯代码开发。大家可以根据自己的习惯、项目需求灵活选择,下面我就分别为大家介绍一下这两种制作页面的方式。
1、可视化Qt Designer工具
安装PyQt工具包后,自带Qt Designer,不需要手动编写布局代码,通过拖拽控件、调整窗口尺寸、设置控件属性,即可快速搭建界面。使用步骤是:安装配置PyQt以及pyqt5-tools工具后,在【Lib\site-packages\PySide6\designer.exe】下启动Qt Designer。

根据业务需求选择窗口模板,比较常用模板是QWidget通用窗口、QMainWindow主窗口、QDialog弹窗窗口,然后就可以在控件库中拖拽输入框、按钮、标签等组件,完成界面布局排版,设置控件名称、字体、尺寸等属性,保存后是【.ui】格式文件。通过pyuic5命令即可转换为可执行的Python代码。

2、纯代码开发模式
在大型项目中,一般是纯代码制作界面布局,导入PyQt5.QtWidgets等模块,通过代码初始化窗口实例、设置窗口基础属性、创建控件、配置布局层级,运行即可制作界面。和Qt Designer可视化开发相比,纯代码开发的可控性更强,能实现复杂的界面、动态加载界面等特殊需求,但是缺点是绘制界面时不可见,只能反复调整运行。

二、PyQt怎么实现登录界面、主界面相互跳转
登录界面与主界面的相互跳转是开发ERP等大型项目的重要功能,我们可以基于PyQt5窗口类搭建双界面结构,借助信号与槽机制实现事件绑定,通过窗口显示与隐藏、状态标记等方式,来实现两个独立窗口的跳转,以下是详细步骤。
1、搭建双窗口类
首先需要定义登录窗口类和主界面窗口类,登录窗口可以基于QDialog类创建,轻量化弹窗式登录,符合登录操作逻辑。主界面窗口基于QMainWindow类创建,集成菜单栏、状态栏等功能,满足复杂业务场景下的需求。

2、隐藏不销毁
两个窗口采用单例初始化,仅隐藏不销毁的开发原则,各自封装界面布局、控件样式、私有功能逻辑,UI代码与业务代码分离。注意:关闭窗口默认销毁机制,防止出现窗口关闭后底层C++控件对象被释放,如果对象被释放还要去访问,会导致程序崩溃,就无法实现页面之间的相互跳转。

3、双向跳转逻辑
整体分为登录跳转主界面、退出返回登录界面两个场景,需要采用非模态窗口切换方案,防止模态弹窗阻塞主线程导致的跳转失效。
1)登录跳转主界面逻辑
绑定登录按钮的点击信号,在槽函数中验证账号密码,一般从数据库校验,如果验证不通过,弹窗提示对应错误信息,拦截跳转操作。如果校验通过,隐藏当前登录窗口,显示主业务界面,同时设置窗口置顶,保证页面正常展示,防止出现窗口重叠、遮挡问题。

2)退出返回登录界面逻辑
退出登录按钮的点击信号绑定退出对应槽函数(下图中的login_to_main),注意不能绑定窗口关闭销毁信号,否则对象会被销毁。正常逻辑是用户点击退出并确认操作后,隐藏当前主界面窗口,重新显示登录界面,同时重置登录页面输入的信息,再次输入账号密码登录后,能再次跳转到程序主界面,以此完成界面之间相互跳转。

三、总结
以上就是PyQt如何制作界面,PyQt怎么实现登录界面、主界面相互跳转的相关内容。PyQt是一个非常好用的Python做GUI开发框架,我们可以借助Qt designer和纯代码制作界面。借助信号槽机制,实现界面事件通信,从而实现界面之间的相互跳转,希望文章对你有所帮助。