导航

QT5 环境搭建和简单例子

Posted on 2023-05-17 13:40  蝈蝈俊  阅读(42)  评论(0编辑  收藏  举报

环境搭建

$ python -V      
Python 3.9.16

QT5 需要 Python 3.7 以上版本。

$ python -m venv envqt5

在这个命令中,参数 -m 表示执行模块的方式。它告诉 Python 解释器以模块的方式执行后面提供的参数。

venv 是一个 Python 模块,用于创建和管理虚拟环境。当你运行 python -m venv envqt5 命令时,它会使用 venv 模块创建一个名为 envqt5 的虚拟环境。虚拟环境是一个独立的 Python 运行环境,可以让你在同一台机器上管理和运行不同的 Python 项目,每个项目都可以拥有自己的依赖包和配置,而互不干扰。

因此,python -m venv envqt5 命令的参数含义是使用 venv 模块创建一个名为 envqt5 的虚拟环境。

envqt5 这个虚拟环境是在当前目录下创建的。

source envqt5/bin/activate

激活 envqt5 这个环境

which python
/Users/ghj1976/envqt5/bin/python

我们可以看到环境已经切换到这里了。

pip3 install PyQt5

安装最新版本的 PyQt5

测试安装

通过运行以下 Python 代码来测试您的设置以及版本信息:

import PyQt5.QtCore

print(PyQt5.QtCore.PYQT_VERSION_STR)

5.15.9

VSCode 配置虚拟环境中的python解释器

查找项目指定虚拟环境的python解释器路径

如果不知道,可以用下面语句获得

import sys
sys.executable

sys.executable的值就是虚拟环境的python解释器路径。

我这里是:

/Users/ghj1976/envqt5/bin/python

使用ctrl+shift+p命令,打开命令交互面板,输入

Python:Select Interpreter

+ 输入解释器路径 ...

输入 Python 解释器的路径

输入并回车

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

Hello World

创建一个 hello_world.py 文件,内容如下:


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

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.pyqtSlot()
    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 就可执行这个。
点击其中按钮,可以看到文字在变化。

部署


pip3 install PyInstaller


参考: