PyCharm如何使用Qt Designer

Qt Designer 是一个 GUI 设计器,能可视化设计出界面。PyQT5 通过 pyuic5 工具将 Qt Designer 生成的 xxx.ui 文件转换成 python 代码,大大节省手工编写界面代码的工作量。

本篇介绍如何在 PyCharm 中集成 Qt Designer 工具,包括 QT Designer 的配置, pyuic5 的配置和调用界面代码的方法。

pyqt5 可以使用 pip 工具来安装:

pip install pyqt5

安装了 pyqt5 之后,在 python 安装目录下面的 Scripts 文件夹中,有一个 pyuic5.exe 文件,这个可执行文件用于将 Qt Designer 生成的 ui 文件转换为 python 代码。

安装 Qt Designer

https://build-system.fman.io/qt-designer-download 这个网址可以下载和安装独立的 Qt Designer 安装版,根据操作系统选择合适的安装文件进行安装。

在 PyCharm 中配置 Qt Designer

Qt Designer 安装后,在安装目录下面有一个 designer.exe 文件。打开该程序,以拖拽的方式设计界面元素。设计完成后保存为 xxx.ui 文件。ui 文件为 xml 格式,用于描述窗体和控件的属性。

在 PyCharm 中配置 Qt Designer,目的是在开发的时候,在 PyCharm 中直接操作 Qt Designer,同时能方便的将 ui 文件保存到 Python 工程指定的文件夹下。通过菜单 File -> Settings 打开如下的配置界面,点击右键 “+” 号配置 Qt Designer:


左边是配置的路径,右面是配置的参数:
Program: designer.exe 的路径
Working Directory: 设置保存的 UI 文件位置,$FileDir$ 表示文件所在目录。

这个配置适合调用 Qt Designer 新建窗口的情况。如果要对已经创建的 ui 文件进行编辑,为了方便,可以再新建一个配置如下:

测试一下。比如在 Python 工程中新建一个 designer 文件夹,选中 designer 文件夹


通过菜单 Tools -> External Tools 菜单打开 qt designer:

注意这里的 QT Designer Create 和 QT Designer Edit 都是我刚才配置的外部工具。在 Qt Designer 中新建一个 Main Window:


在 Main Window 中拖拽几个控件。因为本文主要讲解 Qt Designer 的用法,所以对控件的细节不展开。


然后将界面保存为 MainWindow.ui,路径为 designer 文件夹下面。选中 MainWindow.ui,通过菜单 Tools -> External Tools -> QT Desinger Edit,MainWindow.ui 文件被 Qt Designer 打开。Qt Designer 的配置没有问题。

配置 pyuic5

pyuic5.exe 需要安装 pyqt5 才有,是一个命令行工具,为了方便,可以将 pyuic5 所在的路径添加到环境变量中。然后使用下面的命令将 ui 文件转换为 python 代码:

pyuic5 MainWindow.ui -o MainWindow.py

同样地,为了减少手工的操作,可以在 PyCharm 中将 pyuic5 配置为外部工具:


这里主要说一下 Arguments 参数,我们需要一个宏来实现文件名的灵活性,所以 Arguments 设置如下:

$FileName$ -o $FileNameWithoutExtension$.py

参数比较直观,输入是完整的文件名,输出为相同的文件名,将扩展名替换为 py。完成这个配置后,选中 MainWindow.ui,通过菜单 Tools -> External Tools -> PyUIC5,自动将 ui 文件转换为 python 代码。

如何调用界面代码

ui 转换的 python 代码随着对 ui 的变更,每次都会重新生成,所以不要在 MainWIndow.py 中编写代码。我们需要另外新建一个 python 文件,并在其中编写代码来调用界面代码。

我们看到,qt designer 自动生成的代码实现了一个名为 UI_MainWindow 的类,这个类继承自 object,在该类的 setupUi() 方法中有一个名为 MainWindow 的参数,我们需要将真正的 QMainWindow 对象传给这个方法,来实现我们自己的主窗口。

from designer.MainWindow import Ui_MainWindow
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow

if __name__ == '__main__':
    # application 对象
    app = QApplication(sys.argv)
    
    # QMainWindow对象
    mainwindow = QMainWindow()
    
    # 这是qt designer实现的Ui_MainWindow类
    ui_components = Ui_MainWindow()
    # 调用setupUi()方法,注册到QMainWindwo对象
    ui_components.setupUi(mainwindow)

    # 显示
    mainwindow.show()

    sys.exit(app.exec_())
  • 44
    点赞
  • 168
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
PyCharm 是一款功能强大的 Python 集成开发环境(IDE),它支持使用 Qt Designer 进行界面设计。下面是使用 PyCharm 中的 Qt Designer 进行界面设计的步骤: 1. 首先,确保你已经安装了 PyQt 或者 PySide 库。你可以使用以下命令来安装 PyQt: ``` pip install pyqt5 ``` 或者使用以下命令来安装 PySide: ``` pip install pyside2 ``` 2. 打开 PyCharm,创建一个新的 Python 项目。 3. 在项目中创建一个新的 `.ui` 文件,这是 Qt Designer 的界面文件格式。 4. 右键点击 `.ui` 文件,选择 "Open With" -> "Qt Designer",这将会打开 Qt Designer 工具。 5. 在 Qt Designer 中设计你的界面,可以拖拽各种控件到窗口中,并设置它们的属性。 6. 完成界面设计后,保存 `.ui` 文件并关闭 Qt Designer。 7. 回到 PyCharm使用 `pyuic` 工具将 `.ui` 文件转换为 Python 代码。在命令行中运行以下命令: ``` pyuic5 -o ui_filename.py filename.ui ``` 其中 `ui_filename.py` 是你要生成的 Python 代码文件名,`filename.ui` 是你设计好的界面文件名。 8. 在 PyCharm 中创建一个新的 Python 文件,导入刚刚生成的 Python 代码文件: ```python from ui_filename import Ui_MainWindow ``` 9. 创建一个新的窗口类,并将其继承自 `Ui_MainWindow`,并实现自己的逻辑: ```python class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow): def __init__(self): super().__init__() self.setupUi(self) # 在这里添加你的逻辑代码 ``` 10. 在你的代码中创建一个 `QApplication` 对象,并实例化你的窗口类: ```python if __name__ == '__main__': app = QtWidgets.QApplication(sys.argv) window = MainWindow() window.show() sys.exit(app.exec_()) ``` 11. 运行代码,你将看到使用 Qt Designer 设计的界面在 PyCharm 中显示出来。 这就是使用 PyCharmQt Designer 进行界面设计的基本步骤。希望对你有帮助!如有其他问题,请随时提问。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值