内容表

上一话题

Qt for Python 文档编制

下一话题

Qt for Python 入门

Qt for Python 快速入门

要求

在可以安装 Qt for Python 之前,首先必须安装下列软件:

安装

现在准备安装 Qt for Python 包使用 pip 。从终端,运行以下命令:

pip install PySide2 # For the latest version on PyPi
									

或:

pip install --index-url=http://download.qt.io/snapshots/ci/pyside/5.14/latest pyside2 --trusted-host download.qt.io
									

测试您的安装

现在已安装 Qt for Python,可以通过运行以下 Python 构造来打印版本信息测试设置:

import PySide2.QtCore
# Prints PySide2 version
# e.g. 5.11.1a1
print(PySide2.__version__)
# Gets a tuple with each version component
# e.g. (5, 11, 1, 'a', 1)
print(PySide2.__version_info__)
# Prints the Qt version used to compile PySide2
# e.g. "5.11.2"
print(PySide2.QtCore.__version__)
# Gets a tuple with each version components of Qt used to compile PySide2
# e.g. (5, 11, 2)
print(PySide2.QtCore.__version_info__)
									

创建简单应用程序

Qt for Python 设置就绪。可以通过开发以几种语言打印 Hello World 的简单应用程序,进一步探索它。以下介绍信将指导您完成开发过程:

  1. 创建新文件名为 hello_world.py ,并为它添加以下 import:

    import sys
    import random
    from PySide2 import QtCore, QtWidgets, QtGui
    											

PySide2 Python 模块作为其子模块提供对 Qt API 的访问。在此情况下,导入 QtCore , QtWidgets ,和 QtGui 子模块。

  1. 定义类名 MyWidget ,扩展 QWidget 并包括 QPushButton 及 QLabel:

    class MyWidget(QtWidgets.QWidget):
        def __init__(self):
            super().__init__()
            self.hello = ["Hallo Welt", "Hei maailma", "Hola Mundo", "Привет мир"]
            self.button = QtWidgets.QPushButton("Click me!")
            self.text = QtWidgets.QLabel("Hello World")
            self.text.setAlignment(QtCore.Qt.AlignCenter)
            self.layout = QtWidgets.QVBoxLayout()
            self.layout.addWidget(self.text)
            self.layout.addWidget(self.button)
            self.setLayout(self.layout)
            self.button.clicked.connect(self.magic)
        def magic(self):
            self.text.setText(random.choice(self.hello))
    											

MyWidget 类拥有 magic 成员函数随机选取项从 hello 列表。当点击按钮时, magic 函数被调用。

  1. 现在,添加 main 函数实例化 MyWidget and show 它:

    if __name__ == "__main__":
        app = QtWidgets.QApplication([])
        widget = MyWidget()
        widget.resize(800, 600)
        widget.show()
        sys.exit(app.exec_())
    											

运行范例。试着点击底部按钮以查看获得的问候。

Hello World application