环境搭建
$ 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
参考:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
2013-05-17 Mac下设计全局环境变量
2013-05-17 sudo 临时切换用户和环境变量的传递