Qt for Python 文档:入门

Qt for Python Documentation

要使用 Qt for Python,请安装以下先决条件:

  • Python v3.5 或更高版本
  • libclang v3.9 或更高版本
  • 可选安装:虚拟环境,如 venvvirtualenv

安装完这些之后,就可以使用 pip wheel 安装 Qt for Python 包了。在命令提示符运行以下命令进行安装:

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

现在已经安装好 Qt for Python 了,可以通过打印版本信息来测试你的设置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import PySide2.QtCore

# Prints PySide version
# e.g. 1.0.2
print(PySide2.__version__)

# Gets a tuple with each version component
# e.g. (1, 0, 2, 'final', 1)
print(PySide2.__version_info__)

# Prints the Qt version used to compile PySide
# e.g. "5.11.0"
print(PySide2.QtCore.__version__)

# Gets a tuple with each version components of Qt used to compile PySide
# e.g. (5, 11, 0)
print(PySide2.QtCore.__version_info__)

请注意,用于编译 Qt for Python 的 Qt 版本可能与用于运行 Qt for Python 的版本不同。要打印当前运行的 Qt 版本号,可以使用:

1
print(PySide2.QtCore.qVersion())

现在,你的 Qt for Python 设置已准备就绪。请尝试通过开发一个以多种语言打印 “Hello World”的简单应用程序来进一步探索 Qt for Python。 以下说明将指导你完成开发过程:

  • 创建一个名为 hello_world.py 的新文件,并向其中添加以下导入。
1
2
3
import sys
import random
from PySide2 import QtCore, QtWidgets, QtGui

PySide2 Python 模块提供对 Qt API 的访问作为其子模块。在这种情况下,你将导入 QtCoreQtWidgetsQtGui 子模块。

  • 定义一个名为 MyWidget 的类,它继承自 QWidget 并包含 QPushButtonQLabel
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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.text.setFont(QtGui.QFont("Titillium", 30))
self.button.setFont(QtGui.QFont("Titillium", 20))

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 中随机选择一个元素。单击按钮时会调用此函数。

  • 现在,添加一个主函数,在其中实例化 MyWidget 并显示它。
1
2
3
4
5
6
7
8
if __name__ == "__main__":
app = QtWidgets.QApplication([])

widget = MyWidget()
widget.resize(800, 600)
widget.show()

sys.exit(app.exec_())

你的例子已经可以运行了,单击底部按钮,看看你收到了什么样的问候语。


原文链接:Qt for Python Documentation: Getting Started

The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation.

GNU 自由文档许可证 v 1.3

GreatX wechat
关注我的公众号,推送优质文章。