Python 在Raspberry Pi上使用自定义小部件

Python 在Raspberry Pi上使用自定义小部件,python,dll,pyqt,raspberry-pi,Python,Dll,Pyqt,Raspberry Pi,我使用QtCreator创建了一个GUI,用于我的RPi项目,用Python编写。通过将其复制到QtCreator\bin\plugins\designer中,我找到了一个添加到Qt Creator的自定义LED小部件DLL文件。当我将文件传输到RPi时,它会抛出一个异常 File "TempDisplayV2.py", line 114, in <module> window = uic.loadUi("mainwindow.ui") File "/usr/lib/

我使用QtCreator创建了一个GUI,用于我的RPi项目,用Python编写。通过将其复制到QtCreator\bin\plugins\designer中,我找到了一个添加到Qt Creator的自定义LED小部件DLL文件。当我将文件传输到RPi时,它会抛出一个异常

  File "TempDisplayV2.py", line 114, in <module>
    window = uic.loadUi("mainwindow.ui")
  File "/usr/lib/python3/dist-packages/PyQt5/uic/__init__.py", line 226, in loadUi
    return DynamicUILoader(package).loadUi(uifile, baseinstance, resource_suffix)
  File "/usr/lib/python3/dist-packages/PyQt5/uic/Loader/loader.py", line 72, in loadUi
    return self.parse(filename, resource_suffix, basedir)
  File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 1000, in parse
    actor(elem)
  File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 807, in createUserInterface
    self.traverseWidgetTree(elem)
  File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 785, in traverseWidgetTree
    handler(self, child)
  File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 262, in createWidget
    self.traverseWidgetTree(elem)
  File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 785, in traverseWidgetTree
    handler(self, child)
  File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 253, in createWidget
    self.stack.push(self.setupObject(widget_class, parent, elem))
  File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 217, in setupObject
    obj = self.factory.createQObject(clsname, name, args, is_attribute)
  File "/usr/lib/python3/dist-packages/PyQt5/uic/objcreator.py", line 106, in createQObject
    factory = self.findQObjectType(classname)
  File "/usr/lib/python3/dist-packages/PyQt5/uic/objcreator.py", line 131, in findQObjectType
    w = module.search(classname)
  File "/usr/lib/python3/dist-packages/PyQt5/uic/Loader/qobjectcreator.py", line 115, in search
    module = __import__(mname, {}, {}, (cls,))
ImportError: No module named 'qled'
文件“TempDisplayV2.py”,第114行,在
window=uic.loadUi(“mainwindow.ui”)
loadUi中的文件“/usr/lib/python3/dist-packages/PyQt5/uic/__-init__;.py”,第226行
返回DynamicUILoader(package).loadUi(uifile,baseinstance,resource_后缀)
loadUi中的文件“/usr/lib/python3/dist packages/PyQt5/uic/Loader/Loader.py”,第72行
返回self.parse(文件名、资源后缀、basedir)
文件“/usr/lib/python3/dist packages/PyQt5/uic/uiparser.py”,第1000行,在parse中
演员(elem)
createUserInterface中的文件“/usr/lib/python3/dist packages/PyQt5/uic/uiparser.py”,第807行
self.traverseWidgetTree(elem)
文件“/usr/lib/python3/dist packages/PyQt5/uic/uiparser.py”,第785行,位于traverseWidgetTree中
处理者(自我,孩子)
createWidget中的文件“/usr/lib/python3/dist packages/PyQt5/uic/uiparser.py”,第262行
self.traverseWidgetTree(elem)
文件“/usr/lib/python3/dist packages/PyQt5/uic/uiparser.py”,第785行,位于traverseWidgetTree中
处理者(自我,孩子)
createWidget中的文件“/usr/lib/python3/dist packages/PyQt5/uic/uiparser.py”,第253行
self.stack.push(self.setupObject(小部件类、父类、元素))
setupObject中的文件“/usr/lib/python3/dist packages/PyQt5/uic/uiparser.py”,第217行
obj=self.factory.createQObject(clsname、name、args、is_属性)
createQObject中的文件“/usr/lib/python3/dist packages/PyQt5/uic/objcreator.py”,第106行
factory=self.findQObjectType(类名)
findQObjectType中的文件“/usr/lib/python3/dist packages/PyQt5/uic/objcreator.py”,第131行
w=模块搜索(类名)
文件“/usr/lib/python3/dist packages/PyQt5/uic/Loader/qobjectcreator.py”,搜索中的第115行
模块=uuu导入(mname,{},{},(cls,))
ImportError:没有名为“qled”的模块
我假设问题是因为Pi上不存在DLL文件,尽管我认为一旦创建UI文件,它应该拥有独立运行所需的所有代码。那么,我如何使这项工作


不确定这是否重要,但我正在运行一个带有Buster和Python3.6的RPI3b+。

DLL文件是针对Windows的,而不是针对Linux的。另外,它很可能是针对x86或AMD64体系结构编译的,而不是针对Raspberry Pi的ARM体系结构。那么我可以将Python程序编译成exe或Linux可以识别的东西吗?@JamesFord在Linux中没有.exe或.dll,您需要做的是在Rpi中安装Qt并编译库