品牌型号:联想拯救者R7000
系统:Windows 10专业版
软件版本:pyqt 5.15.11
我们在使用Python做桌面软件开发时,可能需要考虑跨平台运行的问题,如果开发一个工具,因为不同平台需要使用不同的框架,费时又费力。所以技术选型非常重要,PyQt作为Python生态中成熟的GUI框架,是否支持跨平台开发呢?初次接触PyQt的用户,如何创建一个窗口呢?本文将为大家介绍PyQt可以跨平台开发吗,PyQt中如何创建窗口的相关内容。
一、PyQt可以跨平台开发吗
PyQt支持跨平台开发,PyQt底层是基于Qt框架,本质上是对Qt C++接口的Python语言封装,所以也继承了Qt的跨平台特性。PyQt支持Windows、macOS和Linux,我们只需要编写一套代码即可在三大平台上编译运行,不需要根据不同系统单独开发代码,不仅提高效率,还节省了成本。

在开发阶段,一般使用macOS系统或者Windows系统,由于PyQt的跨平台特性,可以将一份代码在不同平台运行,所以只需要专注于一个平台的功能开发即可。例如使用Windows系统做代码开发,搭建好Python环境后,通过pip命令安装PyQt5/PyQt6后即可开始编写代码。代码编写完毕后,借助PyInstaller工具即可打包为exe可执行文件,在dist目录中可以找到生成的exe,双击运行。

其他平台的打包方式略有不同,但是代码是可以运行的。Linux平台以CentOS系统为例,首先是搭建Python环境,以及通过pip3安装pyqt5/pyqt6包。如果使用的是最小化系统,默认没有图形界面,需要额外安装GNOME等桌面环境,让PyQt能够调用系统图形接口,与Windows一样正常弹出可视化窗口并支持鼠标操作,不需要修改代码,复用Windows端代码就可以实现同等功能。

PyQt的跨平台能力能明显提高开发效率,例如需要开发一套设备监控管理系统时,我们可以在Windows环境下完成代码编写与调试,然后将同一份源代码直接部署到Linux服务器,同时还能实现和macOS一起协同工作,不需要为每个平台单独维护代码。这种【一次编写、多平台部署】的跨平台能力,大幅降低了开发与维护成本。

二、PyQt中如何创建窗口
创建窗口是PyQt基础开发操作,PyQt有两种创建窗口的方式,借助Qt Designer可视化设计器或者纯代码开发。Qt Designer是PyQt安装后自带的图形化界面设计工具,我们只需要通过“拖拽”按钮、输入框等控件即可快速创建窗口,但是保存的是【.ui】格式文件,还需要使用pyuic5命令转换为Python代码。

纯代码开发主要用在大型项目,通过代码导入PyQt5.QtWidgets等模块,用代码方式初始化窗口、设置属性、创建控件(按钮等)并配置布局,可控性更强,能满足复杂场景下的业务需求。

下面重点讲解纯代码创建窗口的完整流程,首先需要实例化QApplication对象,这是整个程序的入口,接着根据需求选择合适的窗口类,QMainWindow内置菜单栏、工具栏和状态栏,属于“主窗口”,QDialog主要用于登录弹窗、设置对话框等模态窗口。

还需要设置窗口属性,通过setWindowTitle设置窗口标题,resize或setFixedSize(固定尺寸)来指定窗口尺寸,setWindowIcon可以设置程序图标。

在实际开发场景中,例如开发一套工单管理系统,需要基于QDialog创建登录界面,在该界面完成登录校验,校验通过后隐藏登录窗口,显示基于QMainWindow构建的主业务界面,做业务管理。两个窗口之间借助PyQt的【信号与槽机制】绑定点击事件,实现登录跳转主界面、退出返回登录界面。注意在跳转过程中是【隐藏而非销毁】,调用hide隐藏窗口并不是close销毁窗口,防止程序崩溃。

三、总结
以上就是PyQt可以跨平台开发吗,PyQt中如何创建窗口的相关内容。PyQt支持Windows、macOS和Linux三大桌面系统,能够实现一次编码、多端运行,极大节省了开发成本。在创建窗口时,可以借助PyQt提供的Qt Designer可视化工具,或者纯代码开发,文中为大家简单介绍了创建窗口的方式,希望对你有所帮助。