教程:Qt小部件和Python

首先,创建一个Qt for Python应用程序项目。然后,编辑模板代码以开发一个小程序,使用Qt小部件显示多种语言中的“Hello World”文本。

{A small Qt Widgets application}

有关创建Qt for Python应用程序的更多示例,请参阅Qt for Python 示例和教程

创建空窗体项目

要创建一个包含主类源文件的Qt for Python应用程序

  1. 转到文件 > 新建项目
  2. 选择应用程序(Qt for Python) > 空窗体 > 选择以打开项目位置对话框。

    {Project Location dialog}

  3. 名称中,输入项目名称。例如,hello_world
  4. 创建在中,输入项目文件的路径。例如,C:\Examples
  5. 选择下一步(Windows和Linux)或继续(macOS)以打开定义类对话框。

    {Define Class dialog}

  6. 类名中,将类名键入为MyWidget
  7. 基础类中,选择QWidget作为基础类。

    注意: 源文件字段会自动更新以与类名匹配。

  8. 项目文件中,输入项目文件名称。
  9. 选择下一步继续以打开定义项目详细信息对话框。

    {Define Project Details dialog}

  10. PySide版本中,选择生成的代码的PySide版本。
  11. 选择下一步继续以打开套件选择对话框。

    {Selecting a kit for a Python project}

  12. 选择用于构建、部署和运行项目的Python套件。默认情况下,这将在源目录内部创建项目虚拟环境。要使用全局解释器,请选择名称与套件中的Python相同的构建配置,在详情中。
  13. 选择下一步继续
  14. 检查项目设置,并选择完成(Windows和Linux)或完成(macOS)以创建项目。

向导生成以下文件

  • hellow_world.pyproject,该文件列出了 Python 项目的所有文件。
  • mywidget.py,其中包含类的一些样板代码。
  • reguirements.txt,该文件存储了生成代码的 PySide 版本。您可以使用此文件通过 pip 安装所需的 PySide 版本。

为项目安装 PySide6

编辑 模式下,选择 安装 为项目设置 PySide6。

{Prompt to install PySide6}

添加 Qt Widgets 导入

向导将导入添加到 mywidget.py 源文件中,以访问 QApplication 和您在 Qt Widgets 模块中选择的基类,QWidget。此外,您还需要导入 randomQtCore 以随机选择显示文本的语言,以及 QtWidgets 以添加 UI 元素

import sys
import random
from PySide6.QtWidgets import QApplication, QWidget
from PySide6 import QtCore, QtWidgets

添加基于小部件的 UI

向导添加一个具有指定名称的基类继承的主类

class MyWidget(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)
        ...

将按钮、标签和布局小部件添加到 UI 元素中

...
self.hello = ["Hallo Welt", "Hei maailma", "Hola Mundo", "Привет мир"]

self.button = QtWidgets.QPushButton("Click me!")
self.text = QtWidgets.QLabel("Hello World",
                             alignment=QtCore.Qt.AlignCenter)

self.layout = QtWidgets.QVBoxLayout(self)
self.layout.addWidget(self.text)
self.layout.addWidget(self.button)
...

添加信号和槽

然后,添加一个信号和一个槽来实现随机函数

    ...
    self.button.clicked.connect(self.magic)

@QtCore.Slot()
def magic(self):
    self.text.setText(random.choice(self.hello))

添加主函数

向导添加主函数,在其中创建一个 QApplication 实例。因为 Qt 可以接收命令行的参数,所以您可以将任何参数传递给 QApplication 对象。通常,您不需要传递任何参数,并且可以使用以下方法

if __name__ == "__main__":
    app = QApplication(sys.argv)
    ...

实例化 MainWindow 类

向导实例化 MainWindow 类并将其显示出来

...
widget = MyWidget()
widget.show()
...

执行 Qt 代码

最后,向导调用 app.exec() 方法以进入 Qt 主循环并开始执行 Qt 代码

...
sys.exit(app.exec())

运行应用程序

选择 按钮以运行应用程序。

另请参阅 教程:Qt Quick 和 Python教程:Qt Widgets UI 和 Python 以及 开发 Qt for Python 应用程序

©2024 Qt 公司有限公司。本文件中包含的文档贡献是各自所有者的版权。本文件提供的文档是根据自由软件基金会发布的 GNU 自由文档许可证版本 1.3 的条款许可的。Qt 及其相应标志是芬兰及/或其他国家的 Qt 公司的商标。所有其他商标均为各自所有者的财产。