超全!Python图形界面框架PyQt5使用指南!

网站建设4年前发布
64 0 0

20230305204802a177de958daa7bbfc652350e9527bdd47a8715753,个人想法:太多学不完,先学PyQt5,原因是资料多,学有余力再学pyside6,最后看下PySimpleGUI,看能否解决一些简单问题。
,PyQt是Qt框架的Python语言实现,由Riverbank Computing开发,是最强大的GUI库之一。PyQt提供了一个设计良好的窗口控件集合,每一个PyQt控件都对应一个Qt控件,因此PyQt的API接口与Qt的API接口很接近,但PyQt不再使用QMake系统和Q_OBJECT宏。
,PyQt5提供GPL版和商业版证书,自由开发者可以使用免费的GPL许可,如果需要将PyQt用于商业应用,则必须购买商业许可。
,PyQt5特性如下:
,由于后期要使用fbs进行打包,fbs对Python 3.7以后的版本可能存在兼容问题,所以我选择了Python 3.6.8进行了整个环境的搭建。主要内容为:Python + PyCharm + PyQt5  ,其中pyqt5-tools为Qt Designer拖拽式的界面设计工具。安装过程中可能会报如下错误:
,解决方案:
,Qt Designer 是通过拖拽的方式放置控件,并实时查看控件效果进行快速UI设计。
,2023030520510914a25a287b17d73f122423952cd2dd7b7ae527350,整个画面的构成:
,最终生成.ui文件(实质上是XML格式的文件),可直接使用,也可以通过pyuic5工具转换成.py文件。
,在Pycharm中,依次打开 File – Settings – Tools – External Tools,点击 + Create Tool,配置如下:,PyUIC主要是把Qt Designer生成的.ui文件换成.py文件。
,在Pycharm中,依次打开 File – Settings – Tools – External Tools,点击 + Create Tool,配置如下:,PyRCC主要是把编写的.qrc资源文件换成.py文件。在Pycharm中,依次打开 File – Settings – Tools – External Tools,点击 + Create Tool,配置如下:,创建一个空白的界面:,20230305204803c247f81504e60ac29d7416a11c05baa51c6051725,其中:
,PyQt5支持的常见Widgets有:
,2023030520480524ae9bd7839dc8fa1027529f151a0f51babbe6671,从上到下,从左到右依次为:Qlabel、QcomboBox、QcheckBox、QradioButton、QpushButton、QtableWidget、QlineEdit、Qslider、QProgressBar
,对于使用Pyqt5设置文本内容,我们使用Qlabel:,20230305204805b2ce40322058514db19397a7fb8fe31145747a833,按钮与事件:,20230305204806a3fbd8592c7ecd00a62326b6918be1a54e5b0b925,button.clicked.connect() 在按钮点击后执行特定的事件。
,实战项目:简易的天气查询软件
,20230305204807064804254babfc1e0340684be6a2f8e696f185603,用到的控件有Button, GroupBox, Label,ComboBox,TextEdit,同时定义了两个按钮queryBtn及clearBtn,分别用来查询及清空天气数据。我们需要绑定槽函数,方法如下:
,以上完成后保存为Weather.ui文件。
,PyQt5支持直接使用.ui文件:,但是为了更好的自定义及修改上面的槽函数,可以使用External Tools – PyUIC,即可生成Weather.py,实际运行命令如下:
,其中,我们需要把两个按钮绑定的槽函数:,最终的Weather.py内容如下:,在MainDialog中调用界面类Ui_Dialog,然后在其中中添加查询天气的业务逻辑代码,这样就做到了界面显示和业务逻辑的分离。新增demo.py文件, 在MainDialog类中定义了两个槽函数queryWeather()和clearText(),以便在界面文件Weather.ui中定义的两个按钮(queryBtn 和clearBtn) 触发clicked 信号与这两个槽函数进行绑定。
,完整代码如下:,运行demo.py并执行查询后的效果:
,2023030521544007264e218f449c5b1408650b2b5fc8a3ed32a0290,将.py文件打包成可执行的exe在Python中称为freezing,常用的工具有:PyInstaller, py2exe, cx_Freeze, bbfreze, py2app等。功能对比:
,2023030520480834cd73895daeec13710467cdbaf704a552b31d770,这里选择了fbs来打包。fbs的安装方法:
,使用方法,在命令行中输入:
,执行完成后需要输入一些APP的名称等。完成后会生成如下目录:
,20230305205111868de1a026f4c3363a19241e0217e74adf3baf771,将刚才编写的PyQt5的代码(demo.py和Weather.py)拖到src/main/python文件夹下,删除原有的main.py,并将demo.py修改为main.py。然后打开 main.py,在文件头部添加如下代码:

© 版权声明

相关文章