环境搭建
$ python -V      
Python 3.9.16
QT6 需要 Python 3.7+ 以上版本。
$ python -m venv envqt6
在这个命令中,参数 -m 表示执行模块的方式。它告诉 Python 解释器以模块的方式执行后面提供的参数。
venv 是一个 Python 模块,用于创建和管理虚拟环境。当你运行 python -m venv envqt6 命令时,它会使用 venv 模块创建一个名为 envqt6 的虚拟环境。虚拟环境是一个独立的 Python 运行环境,可以让你在同一台机器上管理和运行不同的 Python 项目,每个项目都可以拥有自己的依赖包和配置,而互不干扰。
因此,python -m venv envqt6 命令的参数含义是使用 venv 模块创建一个名为 envqt6 的虚拟环境。
envqt6 这个虚拟环境是在当前目录下创建的。
source envqt6/bin/activate
激活 envqt6 这个环境
which python
/Users/ghj1976/envqt6/bin/python
我们可以看到环境已经切换到这里了。
pip install pyside6
安装最新版本的 PySide6。
测试安装
通过运行以下 Python 代码来测试您的设置以及版本信息:
import PySide6.QtCore
# Prints PySide6 version
print(PySide6.__version__)
# Prints the Qt version used to compile PySide6
print(PySide6.QtCore.__version__)
VSCode 配置虚拟环境中的python解释器
查找项目指定虚拟环境的python解释器路径
如果不知道,可以用下面语句获得
import sys
sys.executable
sys.executable的值就是虚拟环境的python解释器路径。
我这里是:
/Users/ghj1976/envqt6/bin/python
使用ctrl+shift+p命令,打开命令交互面板,输入
Python:Select Interpreter
+ 输入解释器路径 ...

输入 Python 解释器的路径

输入并回车

然后就可以选择这个解释器了。

Hello World
创建一个 hello_world.py 文件,内容如下:
import sys
import random
from PySide6 import QtCore, QtWidgets, QtGui
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)
        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))
if __name__ == "__main__":
    app = QtWidgets.QApplication([])
    widget = MyWidget()
    widget.resize(800, 600)
    widget.show()
    sys.exit(app.exec())
通过 python hello_world.py 就可执行这个。
点击其中按钮,可以看到文字在变化。

部署
pyside6-deploy ./hello_world.py
参考:
 
                     
                    
                 
                    
                 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号