原文地址:https://doc.qt.io/qtforpython/quickstart.html
PySide6的安装需要如下环境支持:
终端运行如下命令(译者注:官方是这样写的,实际上是用PyCharm 自2019.3.3
版本之后可自动设置虚拟开发环境,可自行查阅)
TODO: 单独写个PyCharm自动设置虚拟开发环境的教程
$ python -m venv env/ # Your binary is maybe called 'python3'
$ source env/bin/activate # for Linux and macOS
$ env\Scripts\activate.bat # for Windows
使用pip
安装,非常简单(译者注:如果安装出错请检查python版本是否为64位)
# For the latest version on PyPi
pip install PySide6
# For a specific version
pip install PySide6==6.0
还可以通过如下方式安装
pip install --index-url=http://download.qt.io/snapshots/ci/pyside/6.0.0/latest pyside6 --trusted-host download.qt.io
(译者注:http://download.qt.io/snapshots/ci/pyside/6.0.0/latest/pyside6/ 截图如下,从win_amd64的字样来看,貌似Python 32位环境无法正常安装PySide6,我也是换到Python3.9 64位才成功安装的,尴尬笑!)
现在已经成功安装了PySide6,来拉出来溜溜~~~
import PySide6.QtCore
# Prints PySide6 version
print(PySide6.__version__)
# Prints the Qt version used to compile PySide6
print(PySide6.QtCore.__version__)
既然已经安装完成,不能免俗的要来个“Hello Word”以示致敬。
import sys
import random
from PySide6 import QtCore, QtWidgets, QtGui
PySide6 的Python模块支持子模块导入,如上我们导入了QtCore
, QtWidgets
, QtGui
3个子模块。
2. 定义名为 MyWidget 的类,它继承了 QWidget 类 并包含了 QPushButton
和 QLabel
2个组件 :
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",
alignment=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)
@QtCore.Slot()
def magic(self):
self.text.setText(random.choice(self.hello))
MyWidget 类定义了一个magic函数,该函数从 hello 列表中随机选择一个值。当您单击该按钮时,将调用这个magic函数并显示输出。
if __name__ == "__main__":
app = QtWidgets.QApplication([])
widget = MyWidget()
widget.resize(800, 600)
widget.show()
sys.exit(app.exec_())
Bingo~,它跑起来了,点击按钮试试能收到哪国语言的问候!
Qt Designer 最新中文手册文档(Qt6)