ImportError:无法导入名称pyqtSignal?

时间:2017-06-20 20:36:54

标签: python python-2.7 pyqt4 qtpy

问题的背景:这是我正在研究并尝试启动GUI的先前PyQt项目。我用Python 2.7设置了Anaconda Environment并使用了PyQt4。错误是: -

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上也出现类似错误。有没有人知道如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您直接使用qtpy而不是PyQt4。根据{{​​3}},他们故意放弃了PyQt - pyqtSignal之类的特定名称,而是在导入时将其重命名为Signal这样的通用名称,以实现一致性。他们评论这些名称遵循Qt5的命名方案。

所以你应该

from qtpy.QtCore import Qt, QFileSystemWatcher, QSettings, Signal

并将代码中其他位置的所有pyqtSignal重命名为Signal