杰瑞科技汇

qt creator开发python

Qt Creator 不仅仅是为 C++ 设计的,它对 Python 提供了出色的支持,它的核心优势在于其集成的 Qt 设计器强大的调试器,这对于任何使用 Qt 框架的开发者来说都是无与伦比的。

qt creator开发python-图1
(图片来源网络,侵删)

下面我将为你详细介绍如何在 Qt Creator 中进行 Python 开发,从环境搭建到实际项目开发。


为什么选择 Qt Creator 开发 Python?

  1. 强大的 GUI 设计器:这是 Qt Creator 最大的杀手锏,你可以通过拖拽控件(如按钮、标签、输入框等)来快速构建用户界面,然后自动生成 Python 代码,无需手动编写繁琐的布局和控件初始化代码。
  2. 一流的代码编辑器:支持语法高亮、代码补全、代码折叠、错误提示等,提升编码效率。
  3. 内置调试器:图形化的调试界面,可以方便地设置断点、查看变量值、单步执行代码,是定位和修复 Bug 的利器。
  4. 项目管理系统:可以轻松管理项目文件、构建步骤和运行配置。
  5. 跨平台:Windows, macOS, Linux 均可使用。

第一步:环境搭建

在开始之前,你需要确保你的电脑上安装了以下几样东西:

安装 Python

确保你已经安装了 Python,建议从 Python 官网 下载并安装最新稳定版,安装时请勾选 "Add Python to PATH" 选项。

打开终端或命令提示符,输入 python --versionpy --version 检查是否安装成功。

qt creator开发python-图2
(图片来源网络,侵删)

安装 Qt Creator

从 Qt 官网 下载并安装 Qt Creator,在安装选项中,Python 支持 通常是默认勾选的,但请确保它被选中,安装完成后启动 Qt Creator。

安装 Qt for Python (PySide6)

Qt for Python 的官方绑定库叫做 PySide,目前最新且推荐使用的是 PySide6

打开终端,使用 pip 进行安装:

# 推荐使用 -i 参数指定国内镜像源,下载速度会快很多
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple PySide6

安装完成后,你就可以在 Python 中导入 PySide6 模块了。

qt creator开发python-图3
(图片来源网络,侵删)

第二步:创建你的第一个 Python Qt 项目

让我们在 Qt Creator 中动手创建一个项目。

  1. 启动 Qt Creator,点击 "File" -> "New Project..."。

  2. 选择项目模板

    • 在左侧的列表中,选择 "Applications"。
    • 在中间的列表中,选择 "Python Application"
    • 点击 "Choose..."。
  3. 配置项目

    • Name: 给你的项目起个名字,MyFirstApp
    • Path: 选择项目存放的路径。
    • Build System: 保持默认的 "None" 即可,对于简单的 Python 项目,我们不需要复杂的构建系统。
    • 点击 "Finish"。
  4. 探索项目结构

    • 创建成功后,你会看到一个名为 main.py 的文件,里面是一个简单的 "Hello World" 程序。
    • 在左侧的 "Projects" 视图中,你可以看到项目文件、运行配置和构建步骤。

第三步:使用 Qt 设计器创建 GUI

这是最有趣的部分,我们将不手动写 UI 代码,而是用设计器来生成。

  1. 创建 UI 文件

    • 在 "Projects" 视图中,右键点击你的项目名称。
    • 选择 "Add New..."。
    • 在弹出的窗口中,选择 "Qt" -> "Qt Designer Form"。
    • Template: 选择 "Main Window" (主窗口),这是一个最常用的模板。
    • Class Name: 可以保持默认,MainWindow
    • Name: 给你的 UI 文件起个名字,main_window.ui
    • 点击 "Finish"。
  2. 设计界面

    • Qt Creator 的中央区域会打开一个可视化的窗口编辑器。
    • 从右侧的 "Containers" 和 "Widgets" 工具箱中,拖拽一些控件到窗口上,拖一个 Push Button 和一个 Label
    • 选中控件,可以在右侧的 "Property Editor" 中修改它们的属性,objectName(非常重要,用于在代码中引用)、text 等。
    • 尝试调整窗口大小和控件的布局。
  3. 将 UI 转换为 Python 代码

    • 设计完成后,保存 main_window.ui 文件。
    • Qt Creator 并不能直接将 .ui 文件运行,我们需要将它编译成 Python 可以使用的 .py 文件。
    • 在 "Projects" 视图中,确保你的项目被选中,然后点击 "Build" 菜单,选择 "Build All" (或按快捷键 Ctrl+B / Cmd+B)。
    • Qt Creator 会调用 pyside6-uic 工具,将 main_window.ui 文件转换成 ui_main_window.py 文件,你可以在项目的文件列表中看到这个新生成的文件。

第四步:编写 Python 逻辑来连接 UI 和代码

我们需要修改 main.py 文件,让它加载我们设计的 UI,并实现一些简单的交互逻辑。

打开 main.py修改为以下代码:

import sys
from PySide6.QtWidgets import QApplication, QMainWindow
# 从我们刚刚生成的 UI 文件中导入 UI 类
from ui_main_window import Ui_MainWindow
class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        # 设置 UI
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        # 连接信号和槽
        # 当点击 "pushButton" 时,调用 "on_button_clicked" 方法
        self.ui.pushButton.clicked.connect(self.on_button_clicked)
    def on_button_clicked(self):
        """当按钮被点击时,执行此函数"""
        self.ui.label.setText("Hello, Qt Creator for Python!")
        print("Button was clicked!")
if __name__ == "__main__":
    app = QApplication(sys.argv)
    # 创建主窗口实例
    window = MainWindow()
    window.show()
    # 运行应用的主循环
    sys.exit(app.exec())

代码解释

  • from ui_main_window import Ui_MainWindow: 导入由设计器生成的 UI 类。
  • self.ui = Ui_MainWindow(): 创建 UI 类的实例。
  • self.ui.setupUi(self): 这个方法会把你设计的所有控件都创建并布局到 self(也就是 MainWindow 实例)上。
  • self.ui.pushButton.clicked.connect(self.on_button_clicked): 这是 Qt 的核心机制——信号与槽,我们将 pushButtonclicked 信号连接到我们自定义的 on_button_clicked 槽函数,当按钮被点击时,on_button_clicked 函数就会被自动调用。
  • self.ui.label.setText(...): 通过控件的 objectName(这里是 label)来访问它,并调用其方法来改变文本。

第五步:运行和调试你的程序

  1. 运行程序

    • 点击工具栏上的绿色 "Run" 按钮(或按快捷键 Ctrl+R / Cmd+R)。
    • 如果一切顺利,你应该能看到你设计的窗口弹出,点击按钮,标签的文字会改变,控制台也会打印出信息。
  2. 调试程序

    • 设置断点:在代码编辑器中,在 self.ui.label.setText(...) 这一行行号左侧单击,会出现一个红点,这就是断点。
    • 启动调试器:点击工具栏上的 "Debug" 按钮(或按快捷键 F5)。
    • 程序会启动并在断点处暂停,此时你可以:
      • 查看变量:在 "Debugger" 窗口中,你可以看到当前作用域内所有变量的值。
      • 单步执行:使用 "Step Over" (F10), "Step Into" (F11), "Step Out" (Shift+F11) 等按钮来控制代码的执行流程。
      • 查看调用堆栈:在 "Stack" 窗口中,可以看到函数的调用关系。

总结与进阶

恭喜!你已经掌握了在 Qt Creator 中使用 Python 和 PySide6 开发 GUI 应用的基本流程。

工作流总结

  1. 设计:在 Qt Creator 中使用 Qt Designer 创建 .ui 文件。
  2. 转换:使用 Build -> Build All.ui 文件转换为 .py 文件。
  3. 编码:在 main.py 中加载 UI 类,编写业务逻辑,连接信号与槽。
  4. 运行/调试:使用 Run 或 Debug 按钮来测试和修复代码。

进阶提示

  • 使用 Qt for Python 的官方示例:Qt 官方提供了大量高质量的 PySide6 示例,是学习的绝佳资源,你可以在 Qt Creator 的 "Help" -> "Examples" 中找到它们。
  • 探索更多控件:尝试使用 QTableWidget(表格)、QTreeView(树形视图)、QTextEdit(富文本编辑器)等更复杂的控件。
  • 使用 pyuic 命令行工具:如果你不使用 Qt Creator 的构建系统,也可以在终端手动转换 UI 文件:pyside6-uic main_window.ui -o ui_main_window.py
  • 使用 qrc 文件管理资源:如果你的应用需要图片、图标等资源,可以创建一个 .qrc 文件,将资源添加进去,然后使用 pyside6-rcc 工具将其编译为 Python 可以导入的 _rc.py 文件。

希望这份详细的指南能帮助你顺利开始 Qt Creator Python 开发之旅!

分享:
扫描分享到社交APP
上一篇
下一篇