ImportError:无法导入名称pyqtSignal?
问题描述:
问题的背景:这是我正在开发并尝试启动GUI的以前的PyQt项目。我用Python 2.7设置了Anaconda Environment并使用了PyQt4。错误是: -ImportError:无法导入名称pyqtSignal?
File "gui/gui.py", line 26, in <module> from qtpy.QtCore import (Qt, QFileSystemWatcher, QSettings, pyqtSignal) ImportError: cannot import name pyqtSignal
代码: -
enter #import qt
from qtpy import QtCore, QtWidgets, QtGui, PYQT4 #changed from PYQT5
from qtpy.QtCore import (Qt, QFileSystemWatcher, QSettings, pyqtSignal)
即使想安装环境等方面尽我的能力后,我无法找出为什么这个错误仍然弹出。在Mac上进行操作,即使在Ubuntu上也会出错。有没有人有一个想法如何解决这个问题?
答
您直接使用qtpy
而不是PyQt4
。根据Don't delete QtCore.{pyqtSignal,pyqtSlot,pyqtProperty} · Issue #76 · spyder-ide/qtpy · GitHub,他们故意放弃PyQt
的特定名称,如pyqtSignal
,而不是将其重命名为通用名称,例如Signal
以实现一致性。他们评论说这些名字遵循Qt5
的命名方案。
所以,你应该只
from qtpy.QtCore import Qt, QFileSystemWatcher, QSettings, Signal
,并重新命名所有pyqtSignal
到Signal
其他地方在你的代码。
请将您的错误消息作为文本而不是图片发布,因此搜索引擎更容易找到它。另外,请显示代码的相关部分。 – iled