文章目录

  • 1. 综述
  • 1.1 在 IDLE 中开启对 PyQt5 的代码提示功能
  • 1.2 取消文件自动命名全小写
  • 2. UI Designer 可视化设计
  • 2.1 新建工程
  • 2.2 属性编辑器
  • 2.3 将 ui 文件编译为 py 文件
  • *. 参考


  • QTCreater是QT官方的IDE,其功能与Pytharm一样,都是用于开发。
  • 关于QT、QT Creater的安装,详见Python理论之三 —— GUI

1. 综述

1.1 在 IDLE 中开启对 PyQt5 的代码提示功能

进入python安装目录中的dlelib文件夹,比如我的是C:\Users\Username\AppData\Local\Programs\Python\Python39\Lib\idlelib

  1. 打开文件config-extensions.def,修改如下代码,保存退出。其中popupwait表示提示开启的延迟时间,单位是毫秒。
  2. 打开同目录下的文件autocomplete.py,添加如下代码后,保存退出。

1.2 取消文件自动命名全小写

Tool - Option - C++ - File Name - 取消勾选“Lower case file names” .

QT中如何集成python qt creator python_pyqt5

2. UI Designer 可视化设计

UI Designer是Qt Creator 中内置的可视化设计工具,可大大提高 GUI 应用程序开发的工作效率

2.1 新建工程

在QT Creater中新建一个工程,选择QT下的QT Designer Form

QT中如何集成python qt creator python_QT Creater_02


然后是窗体模板选择界面,窗体模板主要有以下 3 种:

  1. Dialog 模板:基于 QDialog 类的窗体,具有一般对话框的特性,如可以模态显示、具有返回值等。
  2. Main Window 模板:基于 QMainWindow 类的窗体,具有主窗口的特性,窗口上有主菜单栏、工具栏、状态栏等。
  3. Widget 模板:基于 QWidget 类的窗体。QWidget 类是所有界面组件的基类,如 QLabel、QPushButton 等界面组件都是从 QWidget 类继承而来的。QWidget 类也是 QDialog 和QMainWindow 的父类,基于 QWidget 类创建的窗体可以作为独立的窗口运行,也可以嵌入到其他界面组件内显示。

以上窗口功能丰富程度依次递增

QT中如何集成python qt creator python_QT Creater_03


这里选择最后一个Widget,点击下一步,进入Qt Creator 内置的 UI Designer 里可视化设计窗体。

QT中如何集成python qt creator python_gui_04

  1. 窗口左侧是界面设计组件面板,分为多个组,如 Layouts、Buttons、Display Widgets等,界面设计的常用组件都可以在组件面板里找到。
  2. 中间区域是待设计的窗体。如果要将某个组件放置到窗体上,从组件面板上拖动一个组件放到窗体上即可。例如,放一个 Label 组件和一个 PushButton 组件到窗体上。
  3. 位于待设计窗体下方的Action 编辑器用于设计 Action,Signals Slots 编辑器用于可视化地进行信号与槽的关联,后面会介绍其具体使用。
  4. 窗口右上方是对象浏览器,用树状视图显示窗体上各组件之间的布局和包含关系,视图有两列,显示每个组件的对象名称(objectName)和类名称。
  5. 窗口右下方是属性编辑器,显示某个选中的组件或窗体的各种属性及其值,可以在属性编辑器里修改这些属性的值。

然后就可以开始设计窗体,设计完成后,窗体将保存为 .ui 格式的文件。

2.2 属性编辑器

如2.1 节界面图中右下角即属性编辑器,在设计窗体上用鼠标点选一个组件,在属性编辑器里会显示其各种属性,并且可以修改其属性。如下图是QLabel的属性:

  • 最上方显示的文字“label: QLabel”表示这个组件是一个 QLabel类的组件,objectName 是 label .

objectName 是该组件的对象名称,界面上的每个组件都需要一个唯一的对象名称,以便被引用,它是用户自定义的。

  • 属性编辑器的内容分为两列,其中 Property 列是属性的名称,Value 列是属性的值。
  • 属性又分为多个组,表示了类的继承关系,如图中可以看出QLabel 的继承关系是 QObject→QWidget→QFrame→QLabel .

2.3 将 ui 文件编译为 py 文件

要在 Python 里使用这个窗体(.ui 文件),需要使用 PyQt5 的工具软件 pyuic5.exe 将这个 ui 文件编译转换为对应的 Python 语言程序文件。pyuic5.exe 程序位于 Python 安装目录的 Scripts 子目录下,这个路径在安装 Python 时被自动添加到了系统的 PATH 环境变量里,所以可以在cmd中直接执行 pyuic5 命令即可。

  1. .ui 文件所在的文件夹中,新建一个 .bat批处理文件,里面填写一行代码:
pyuic5 -o ui_PyQTProjectP23.py PyQTProjectP23.ui
# 其中 ui_PyQTProjectP23.py 表示 .ui文件生成 .py文件后保存的名字
# PyQTProjectP23.ui就是 .ui文件的名字
  1. 运行该 .bat文件,即可生成对应的 .py文件
  2. 使用Pycharm等IDE打开该 .py 文件

*. 参考

  1. 《Python Qt GUI与数据可视化编程》