我刚从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
然后我尝试根据Pyinstaller: ImportError: cannot import name QtGui解决方法更改sys.path,但仍然给我相同的感觉
ImportError: cannot import name QtGui
更新:看来我实际上是在导入QtGui的,因为当我进入IDLE并尝试使用它时,它仍会自动完成QMovie和其他许多属性。有什么理由QMainWindow不会在那里吗? (不是,QDialog也不重要,它们似乎很重要)
最佳答案
假设一切都已正确安装,则需要稍微调整导入内容以从PyQt4移植到PyQt5。
主要的GUI元素位于QtWidgets模块中,而更基本的GUI元素位于QtGui中。有关更多详细信息,请参见Qt modules page。
示例代码需要更改为以下内容:
from PyQt5 import QtCore, QtGui, QtWidgets
class MainWindow(QtWidgets.QMainWindow, UI.MainUI.Ui_MainWindow):
...
有关从PyQt4移植到PyQt5的更多详细信息,请参见:Differences Between PyQt4 and PyQt5。
关于python - PyQt5导入QtGui失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20749819/