it-swarm.com.de

PyQt5-Import von QtGui fehlgeschlagen

Ich bin gerade von PyQt4 auf 5 umgestiegen und habe ein Problem mit QtGui. Ich habe mit dem 32-Bit-Windows-Installationsprogramm installiert, nicht mit meinem eigenen Build.

wenn ich mache:

from PyQt5 import QtGui

Ich bekomme

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

also habe ich es versucht

from PyQt5.QtWidgets import QtGui

Was in ... endet:

ImportError: cannot import name QtGui

dann habe ich versucht, den sys.path entsprechend zu ändern Pyinstaller: ImportError: kann den Namen QtGui nicht importieren umgehen, aber es gibt mir immer noch das gleiche

ImportError: cannot import name QtGui

Update: Es sieht so aus, als würde ich QtGui tatsächlich importieren, da QMovie und eine ganze Reihe anderer Attribute automatisch vervollständigt werden, wenn ich es im Leerlauf versuche . Gibt es einen Grund, warum QMainWindow nicht dabei ist? (Es ist nicht, auch nicht QDialog und sie scheinen wichtig zu sein)

33
Faller

Angenommen, alles wurde korrekt installiert, müssen Sie Ihre Importe leicht anpassen, um von PyQt4 nach PyQt5 zu portieren.

Die wichtigsten GUI-Elemente befinden sich im QtWidgets-Modul, während sich die grundlegenderen GUI-Elemente in QtGui befinden. Weitere Informationen finden Sie auf der Seite Qt-Module .

Der Beispielcode muss folgendermaßen geändert werden:

from PyQt5 import QtCore, QtGui, QtWidgets

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

Weitere Informationen zum Portieren von PyQt4 nach PyQt5 finden Sie unter: nterschiede zwischen PyQt4 und PyQt5 .

48
ekhumoro