教程:Qt小部件和Python
首先,创建一个Qt for Python应用程序项目。然后,编辑模板代码以开发一个小程序,使用Qt小部件显示多种语言中的“Hello World”文本。
有关创建Qt for Python应用程序的更多示例,请参阅Qt for Python 示例和教程。
创建空窗体项目
要创建一个包含主类源文件的Qt for Python应用程序
- 转到文件 > 新建项目。
- 选择应用程序(Qt for Python) > 空窗体 > 选择以打开项目位置对话框。
- 在名称中,输入项目名称。例如,hello_world。
- 在创建在中,输入项目文件的路径。例如,
C:\Examples
。 - 选择下一步(Windows和Linux)或继续(macOS)以打开定义类对话框。
- 在类名中,将类名键入为MyWidget。
- 在基础类中,选择QWidget作为基础类。
注意: 源文件字段会自动更新以与类名匹配。
- 在项目文件中,输入项目文件名称。
- 选择下一步或继续以打开定义项目详细信息对话框。
- 在PySide版本中,选择生成的代码的PySide版本。
- 选择下一步或继续以打开套件选择对话框。
- 选择用于构建、部署和运行项目的Python套件。默认情况下,这将在源目录内部创建项目虚拟环境。要使用全局解释器,请选择名称与套件中的Python相同的构建配置,在详情中。
- 选择下一步或继续。
- 检查项目设置,并选择完成(Windows和Linux)或完成(macOS)以创建项目。
向导生成以下文件
hellow_world.pyproject
,该文件列出了 Python 项目的所有文件。mywidget.py
,其中包含类的一些样板代码。reguirements.txt
,该文件存储了生成代码的 PySide 版本。您可以使用此文件通过 pip 安装所需的 PySide 版本。
为项目安装 PySide6
在 编辑 模式下,选择 安装 为项目设置 PySide6。
添加 Qt Widgets 导入
向导将导入添加到 mywidget.py
源文件中,以访问 QApplication 和您在 Qt Widgets 模块中选择的基类,QWidget。此外,您还需要导入 random
和 QtCore 以随机选择显示文本的语言,以及 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 公司的商标。所有其他商标均为各自所有者的财产。