使用python的各位朋友,在开发桌面应用的时候,用的比较多的是TK,其次就是Qt,如果对于熟手来说两者难度都不大,但对于从来没开发过桌面应用的人来说,选择哪个,如何开发就比较困难了,而且网上也没有多少连续的,关于各种细节问题的解决专栏,因此开辟这个专栏,专门解决开发过程中存在的问题。
选择Pyside6的原因很简单,有以下几个原因:
安装Pyside6之前,非常推荐首先安装一个虚拟环境,在后期打包的时候,使用一个独立的虚拟环境才能保证打包的应用容量是最小的。
python -m venv <虚拟环境路径>
python创建虚拟环境
# 安装Pyside6
pip install Pyside6
如果读者也使用的Pycharm开发,那么接下来的内容应该是开发中经常用到的功能。
1、File->Settings
2、Tools->External Tools
3、点击添加按钮
Qt Designer即是托拉拽的原型快速开发工具,它可以快速为我们搭建脑海里的原型,它的样子类似如下:
Qt Designer界面
Name:QtDesigner
Description:QtDesigner
Program:{虚拟环境路径}\Lib\site-packages\PySide6\designer.exe
Working directory:$ProjectFileDir$\ui
Working directory中填写$ProjectFileDir$\ui将会使当前的项目下的ui文件夹作为工作目录,因此需要在项目下创建一个ui的目录,否则无法使用。使用ui文件夹是为了更好的目录结构,如果不需要,可以直接使用$ProjectFileDir$,这样无需创建ui文件夹。
在目录结构中右键,可以使用External Tools中的QtDesigner
Tools->External Tools->QtDesigner
后面需要配置的pyside6-uic.exe与pyside6-rcc.exe也是类似的使用方式。
pyside6-uic.exe:能够将Qt Designer中的.ui文件转换为.py文件的工具,在后期的开发中会经常用到。
Name:ui2py
Program:{虚拟环境路径}\Scripts\pyside6-uic.exe
Arguments:-o $FileNameWithoutExtension$_ui.py $FileName$
Working directory:$ProjectFileDir$\ui
pyside6-rcc.exe:能够将Qt Designer中的.qrc文件转换为.py文件的工具,它的使用率没有uic高,但也非常常用。.qrc是资源文件,在Qt Designer中,所有的图片(任何外部元素都可以)都是资源,通过资源来加载各种外部内容。
Name:qrc2py
Program:{虚拟环境路径}\Scripts\pyside6-rcc.exe
Arguments:$FileName$ -o ../$FileNameWithoutExtension$_rc.py
Working directory:$ProjectFileDir$\ui
在这个Arguments中使用的参数效果会与之前的uic有所不同,它会将.qrc转换的.py文件生成在ui文件外部,例如以下的目录结构:
如此操作的原因主要是uic生成的.py文件中,使用资源文件的方式为import xxx_rc,为了后期不会爆红使用方便,因此将.qrc转换的.py文件生成在最外层。
如下图,uic生成的.py文件中,调用资源文件使用的是import,如果将资源文件生成在ui文件夹中,需要每次在uic生成的.py文件中手动修改为from ui import xxx_rc,好在一个项目一般只使用一个资源文件,因此将其放置在最外层不会造成太大影响。
至此,开发Qt项目的前期工作已经完成,后期的流程主要为:Qt Designer设计原型->将原型保存为.ui并转化为.py->使用信号与槽连接各种逻辑->发布应用。
因此很多学习内容将围绕Qt Designer的使用,控件的属性介绍与如何使用进行展开。