Подтвердить что ты не робот

PyQt5 не удалось импортировать QtGui

Я только что перешел с PyQt4 на 5, и у меня проблема с QtGui. Я установил с помощью 32-битного установщика Windows, а не из собственной сборки.

когда я это сделаю:

from PyQt5 import QtGui

Я получаю

class MainWindow(QtGui.QMainWindow, UI.MainUI.Ui_MainWindow):
AttributeError: 'module' object has no attribute 'QMainWindow'

поэтому я попробовал

from PyQt5.QtWidgets import QtGui

Результат:

ImportError: cannot import name QtGui

то я попытался изменить sys.path в соответствии с Pyinstaller: ImportError: не могу импортировать имя QtGui, но он все равно дает мне тот же

ImportError: cannot import name QtGui

Обновление. Похоже, что я действительно импортирую QtGui, потому что, когда я иду в IDLE и пытаюсь это сделать, он по-прежнему автозаполняет QMovie и целую кучу других атрибутов. Есть ли причина, по которой QMainWindow просто не будет там? (Это не так, ни QDialog, и они кажутся важными)

4b9b3361

Ответ 1

Предполагая, что все установлено правильно, вам нужно слегка настроить импорт в порт от PyQt4 до PyQt5.

Основные элементы GUI находятся в модуле QtWidgets, в то время как более простые элементы GUI находятся в QtGui. Подробнее см. Страницу Qt modules.

Код примера должен быть изменен на следующее:

from PyQt5 import QtCore, QtGui, QtWidgets

class MainWindow(QtWidgets.QMainWindow, UI.MainUI.Ui_MainWindow):
    ...

Подробнее о портировании с PyQt4 в PyQt5 см. ниже: Различия между PyQt4 и PyQt5.