如何在树莓派上添加缺失的PyQt5模块

2024-09-30 10:39:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是PyQt5版本5.7、python3.5.3和raspbian。我的问题是,在我的代码中,PyQt5的一些模块得到了识别,并且没有产生错误,而有些模块确实存在。在

我得到的错误:ImportError:无法导入名称'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()

Tags: 模块fromimportif错误descriptionpyqt5print
2条回答

如果您安装了Raspbian pyqt5-devpyqt5-dev-tools包,那么它将只提供核心PyQt5模块,如QtCoreQtGuiQtWidgets等。对于其他模块,如QtMultimedia,则必须安装单独的包。在

如果您转到Raspbian Connect Package List,并查看Python Packages部分,您将发现以下额外的包:

  • Python3-pyqt5.qsci
  • python3-pyqt5.qt多媒体
  • Python3-pyqt5.qtopengl
  • python3-pyqt5.qt定位
  • python3-pyqt5.qt快速
  • python3-pyqt5.qt传感器
  • python3-pyqt5.qtserialport
  • python3-pyqt5.qtsql
  • python3-pyqt5.qtsvg
  • python3-pyqt5.qt网络频道
  • python3-pyqt5.qtwebkit
  • Python3-pyqt5.qtwebockets
  • Python3-pyqt5.qtx11extras
  • python3-pyqt5.qtXML模式

所以只需使用apt-get来安装您需要的任何东西。在

检查站点包文件夹以查看此包是否确实存在。在

如果您正在使用一个虚拟机(您应该这样做),请确保它已被激活。使用pip3 freeze查看PyQt5是否正确安装。在

然后,安装一个pylint扩展,这可以帮助您在将来丢失的包和其他东西。在

相关问题 更多 >

    热门问题