ImportError: невозможно импортировать имя pyqtSignal?

Предыстория вопроса: это предыдущий проект PyQt, над которым я работаю и пытаюсь запустить графический интерфейс. Я установил среду Anaconda с Python 2.7 и использовал 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 ответ

Решение

Вы используете qtpy скорее, чем PyQt4 непосредственно. В соответствии с Не удалять QtCore.{PyqtSignal,pyqtSlot,pyqtProperty} · Выпуск № 76 · spyder-ide / qtpy · GitHub, они намеренно отключены PyQtконкретные имена, такие как pyqtSignal и вместо этого переименуйте их при импорте в общие имена, такие как Signal для единообразия. Они комментируют, что эти имена следуют Qt5Назови схему.

Так что вы должны просто

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

и переименовать все pyqtSignal в Signal в другом месте в вашем коде.

Другие вопросы по тегам