3

问题背景:这是我正在研究并尝试启动 GUI 的以前的 PyQt 项目。我已经使用 Python 2.7 设置了 Anaconda 环境并使用了 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 上也出现类似错误。有谁知道如何解决这个问题?

4

1 回答 1

6

您正在使用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代码中的其他位置。

于 2017-06-20T23:27:52.603 回答