我正在使用 PyQt5 5.7 版、python 3.5.3 和 raspbian。我的问题是,在我的代码中,PyQt5 的一些模块被识别并且没有产生错误,而有些模块却产生了错误。
我得到的错误:ImportError: cannot import name 'QMultimedia'
那么,为什么 QtCore/Widgets/Gui 会重新识别而不是 QMultimedia?我需要安装一些额外的包吗?我需要重新安装并做一些特别的事情吗?这可能是一个微不足道的问题,但请帮助我。
注意:我也试过:from PyQt5 import QtMultimedia
import numpy as np
import sys
from PyQt5 import QtCore
from PyQt5 import QtWidgets
from PyQt5 import QtGui
from PyQt5 import QMultimedia
from PyQt5 import QCameraInfo
from PyQt5 import QVideoWidget
from PyQt5 import QMediaObject
from PyQt5.QtCore import pyqtSignal
class Camera():
def iniCamera():
cam = QCamera()
caminfo = QCameraInfo(cam)
print (caminfo.description)
if caminfo.isNull() != True:
cam = QCamera(caminfo.deviceName())
print (caminfo.description)
if __name__ == '__main__':
iniCamera()
最佳答案
如果您安装了 Raspbian pyqt5-dev
和 pyqt5-dev-tools
包,这将只提供核心 PyQt5 模块,如 QtCore
, QtGui
, QtWidgets
等。对于 QtMultimedia
等其他模块,您必须安装单独的包。
如果您转到 Raspbian Connect Package List , 然后查看 Python Packages部分,您会发现以下额外的包:
- python3-pyqt5.qsci
- python3-pyqt5.qtmultimedia
- python3-pyqt5.qtopengl
- python3-pyqt5.qt定位
- python3-pyqt5.qtquick
- python3-pyqt5.qtsensors
- python3-pyqt5.qtserialport
- python3-pyqt5.qtsql
- python3-pyqt5.qtsvg
- python3-pyqt5.qtwebchannel
- python3-pyqt5.qtwebkit
- python3-pyqt5.qtwebsockets
- python3-pyqt5.qtx11extras
- python3-pyqt5.qtxmlpatterns
所以只需使用 apt-get
来安装任何你需要的东西。
关于python - 如何在 Raspberry Pi 上添加缺少的 PyQt5 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47286839/