Je viens de passer de PyQt4 à 5 et j'ai un problème avec QtGui. J'ai installé en utilisant le programme d'installation de Windows 32 bits, pas ma propre version.
quand je fais:
from PyQt5 import QtGui
Je reçois
class MainWindow(QtGui.QMainWindow, UI.MainUI.Ui_MainWindow):
AttributeError: 'module' object has no attribute 'QMainWindow'
alors j'ai essayé
from PyQt5.QtWidgets import QtGui
Ce qui se traduit par:
ImportError: cannot import name QtGui
alors j'ai essayé de changer le sys.path selon Pyinstaller: ImportError: impossible d'importer le nom QtGui contourner mais ça me donne toujours la même chose
ImportError: cannot import name QtGui
Mise à jour: Il semblerait que j'importe en fait QtGui parce que quand je vais en mode IDLE et que j'essaye, il continue à compléter automatiquement QMovie et tout un tas d'autres attributs . Y a-t-il une raison pour laquelle QMainWindow ne serait tout simplement pas là-dedans? (Ce n'est pas le cas, ni QDialog et ils semblent importants)
En supposant que tout a été installé correctement, vous devez ajuster légèrement vos importations au port de PyQt4 à PyQt5.
Les principaux éléments GUI sont dans le module QtWidgets, tandis que les éléments GUI les plus basiques sont dans QtGui. Voir page modules Qt pour plus de détails.
L'exemple de code doit être changé en quelque chose comme:
from PyQt5 import QtCore, QtGui, QtWidgets
class MainWindow(QtWidgets.QMainWindow, UI.MainUI.Ui_MainWindow):
...
Pour plus de détails sur le portage de PyQt4 vers PyQt5, voir: Différences entre PyQt4 et PyQt5 .