Qt Designer,中文名称为Qt设计师,是一个强大的可视化GUI设计工具。使用Qt Designer设计GUI可以大大提高开发效率,本节先对Qt Designer及其支持的几种窗口类型进行介绍。
按照2.3.2节的步骤在PyCharm开发工具中配置完Qt Designer后,即可通过PyCharm开发工具中的“External Tools”菜单方便地打开Qt Designer,步骤如下。
(1)在PyCharm的菜单栏中依次单击“Tools”→“External Tools”→“Qt Designer”菜单,如图3.1所示。
图3.1 在PyCharm菜单中选择“Qt Designer”菜单
多学两招
除了PyCharm中的扩展工具,还可以通过可执行文件打开Qt Designer设计器,Qt Designer的可执行文件安装在当前虚拟环境下的“Lib\site-packages\qt6_applications\Qt\bin”路径下,名称为“designer.exe”,双击该文件也可以打开Qt Designer设计器。另外,为了方便使用,可以为其创建一个桌面快捷方式,首先选中designer.exe文件,然后单击鼠标右键,在弹出的快捷菜单中依次选择“发送到”→“桌面快捷方式”,如图3.2所示。这样,以后就可以直接在桌面上通过双击该快捷方式打开Qt Designer设计器了。
图3.2 创建Qt Designer的桌面快捷方式
(2)打开Qt Designer设计器后会出现“新建窗体”窗口,该窗口中以列表形式列出了Qt支持的几种窗口类型,分别如下。
☑Dialog with Buttons Bottom:按钮在底部的对话框窗口,效果如图3.3所示。
☑Dialog with Buttons Right:按钮在右上角的对话框窗口,效果如图3.4所示。
图3.3 Dialog with Buttons Bottom窗口及预览效果
图3.4 Dialog with Buttons Right窗口及预览效果
☑Dialog without Buttons:没有按钮的对话框窗口,效果如图3.5所示。
☑Main Window:一个带菜单栏、工具栏和状态栏的主窗口,效果如图3.6所示。
图3.5 Dialog without Buttons窗口及预览效果
图3.6 MainWindow窗口及预览效果
说明
MainWindow窗口是使用PyQt6设计GUI程序时最常用的窗口,本书所有案例都将以创建MainWindow窗口为基础进行讲解。
☑Widget:通用窗口,效果如图3.7所示。
图3.7 Widget窗口及预览效果
说明
对比图3.6和图3.7,Widget窗口和MainWindow窗口看起来一样,但其实是有区别的,MainWindow窗口会自带一个菜单栏和一个状态栏,而Widget窗口没有,默认就是一个空窗口。
在Qt Designer设计器的“新建窗体”窗口中选择“Main Window”,即可创建一个主窗口,Qt Designer设计器的主要组成部分如图3.8所示。
图3.8 Qt Designer设计器
下面对Qt Designer设计器的主要区域进行介绍。
3.1.2.1 菜单栏
菜单栏显示了所有可用的Qt命令,Qt Designer的菜单栏如图3.9所示。
图3.9 Qt Designer的菜单栏
Qt Designer菜单栏中最常用的是前面4个菜单,即文件、Edit(编辑)、窗体和视图,其中,文件菜单主要提供基本的新建、保存、关闭等功能菜单,如图3.10所示。Eidt菜单除了提供常规的复制、粘贴、删除等,还提供了几个特定于Qt的菜单,即编辑窗口部件、编辑信号/槽、编辑伙伴、编辑Tab顺序,这4个菜单主要用于切换Qt窗口的设计状态,如图3.11所示。
图3.10 文件菜单
图3.11 Eidt菜单
窗体菜单提供布局及预览窗体效果,和与C++代码和Python代码相关的功能,如图3.12所示。视图菜单主要用于提供Qt常用窗口的快捷打开方式,如图3.13所示。
图3.12 窗体菜单
图3.13 视图菜单
3.1.2.2 工具栏
为了让操作更方便、快捷,菜单项中常用的命令放入了工具栏中。通过工具栏可以快速地访问常用的菜单命令。Qt Designer的工具栏如图3.14所示。
图3.14 Qt Designer的工具栏
3.1.2.3 工具箱
工具箱是Qt Designer最常用、最重要的一个窗口,每个开发人员都必须熟练掌握这个窗口的功能。工具箱提供了进行PyQt6 GUI开发所必需的控件。通过工具箱,开发人员可以方便地进行可视化的窗体设计,简化了程序设计的工作量,提高了工作效率。根据控件功能的不同,工具箱有8个分类,如图3.15所示。展开每个分类都可以看到各个分类下包含的控件,如图3.16所示。
图3.15 工具箱分类
图3.16 每个分类包含的控件
说明
在设计GUI时,如果需要使用某个控件,则可在工具箱中选中需要的控件,直接将其拖到主窗口的指定位置。
3.1.2.4 窗口设计区域
窗口设计区域是GUI的可视化显示窗口,任何对窗口的改动都可以在该区域实时显示出来。例如,图3.17是一个默认的MainWindow窗口,该窗口中默认包含一个菜单栏和一个状态栏。
图3.17 窗口设计区域
3.1.2.5 对象查看器
对象查看器主要用于查看主窗口中放置的对象列表,如图3.18所示。
3.1.2.6 属性编辑器
属性编辑器是Qt Designer中另一个常用且重要的窗口,如图3.19所示,该窗口为PyQt6设计的GUI提供了对窗口、控件和布局等的属性修改功能。主窗口中各个控件的属性都可以在属性编辑器中编辑设置。
图3.18 对象查看器
图3.19 属性编辑器
3.1.2.7 信号/槽编辑器
信号/槽编辑器主要用于编辑控件的信号和槽函数,另外也可以为控件添加自定义的信号和槽函数,效果如图3.20所示。
图3.20 信号/槽编辑器
3.1.2.8 动作编辑器
动作编辑器主要用于编辑控件的动作,包括提示文字、图标及图标主题、快捷键等,如图3.21所示。
3.1.2.9 资源浏览器
在资源浏览器中,开发人员可以为控件添加图片(比如Label、Button等背景图片)、图标等资源,如图3.22所示。
图3.21 动作编辑器
图3.22 资源浏览器