一、前提需要安装python
嵌入式ARM64开发平台上,pip安装pyqt5 无法安装上,python安装过的可以略过这一步,我这安装的是python3.9
二、安装PyQt5以及SIP
PyQt5版本需与SIP要对应
sip 4.19.25 下载
pyqt5 5.15.2 下载
1.源码编译需要依赖qmake工具链
sudo apt-get install qt5-default
2.安装编译所需的软件包
sudo apt-get install cmake gcc g++
pip3 install --upgrade pip
pip3 install wheel setuptools
3.编译SIP包
tar zxvf sip-4.19.25.tar.gz
cd ./sip-4.19.25
python configure.py --sip-module PyQt5.sip
sudo make
sudo make install
4.编译 PyQt5
tar zxvf PyQt5-5.15.2.tar.gz
cd ./PyQt5-5.15.2
python configure.py
编译过程中可能会出现
error: Qt::ItemDataRole is not a class or namespace
解决方法:这是因为C++使用的编译方式不读需要在所有目录下的MakeFile中的 CXXFLAGS 后加入 -std=c++ 11选项
然后再继续
sudo make -j4
sudo make install
三、测试
#测试PyQt5的功能
import sys
from PyQt5 import QtWidgets, QtCore
app = QtWidgets.QApplication(sys.argv)
widget = QtWidgets.QWidget()
widget.resize(360, 360)
widget.setWindowTitle("Hello, World")
widget.show()
sys.exit(app.exec_())