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上也会出错。有没有人有一个想法如何解决这个问题?

+0

请将您的错误消息作为文本而不是图片发布,因此搜索引擎更容易找到它。另外,请显示代码的相关部分。 – iled

您直接使用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 

,并重新命名所有pyqtSignalSignal其他地方在你的代码。