问题:
使用pip按如下指令安装pyqt5
pip install pyqt5
终端报错如下:
AttributeError: module 'sipbuild.api' has no attribute 'prepare_metadata_for_build_wheel'
解决方法:
通过brew安装pyqt5,再将相关文件拷贝至虚拟环境(如果需要)
brew install pyqt@5
如果你没有安装brew,需要在终端输入下行代码进行安装。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
由于该资源在外网,可能出现下载缓慢、超时、卡死现象。使用代理可以有效解决该问题。
安装完成后,打开路径/opt/homebrew/Cellar/pyqt@5/5.15.7_1/lib/python3.9//opt/homebrew/Cellar/pyqt@5/5.15.7_1/lib/python3.9/site-packages,如下图
将文件全部拷贝下来,粘贴至/Users/your_name/miniforge3/envs/你的虚拟环境名/lib/python3.9/site-packages 。注意楼主是使用的conda创建的虚拟环境,具体路径因人而异。
试验一下,一切正常!
import sys
from PyQt5 import QtCore, QtGui, QtWidgets #导入PyQt5包中的几个模块
app = QtWidgets.QApplication(sys.argv) #创建App,用QApplication类
widgetHello = QtWidgets.QWidget() #创建一个窗体widgetHello,用QWidget类
widgetHello.resize(280,150) #设置对话框的宽度和高度
widgetHello.setWindowTitle("Demo2_1") #设置对话框的标题文字
LabHello = QtWidgets.QLabel(widgetHello) #创建一个标签LabHello,父容器为widgetHello
LabHello.setText("Hello World, PyQt5") #设置标签文字
font = QtGui.QFont() #创建字体对象font,用QFont类
font.setPointSize(12) #设置字体大小
font.setBold(True) #设置为粗体
LabHello.setFont(font) #设置为标签LabHello的字体
size=LabHello.sizeHint() #获取LabHello的合适大小,返回值aLabSize是QSize类对象
LabHello.setGeometry(70, 60, size.width(), size.height())
##设置LabHello的位置和大小,位置x=70,y=60, 宽度和高度由aLabSize的值确定
widgetHello.show() #显示对话框
sys.exit(app.exec_()) #应用程序运行