Fal*_*ler 34 python pyqt python-3.x pyqt5
我刚从PyQt4转到5,我遇到了QtGui的问题.我使用32位Windows安装程序安装,而不是我自己的构建.
当我做:
from PyQt5 import QtGui
Run Code Online (Sandbox Code Playgroud)
我明白了
class MainWindow(QtGui.QMainWindow, UI.MainUI.Ui_MainWindow):
AttributeError: 'module' object has no attribute 'QMainWindow'
Run Code Online (Sandbox Code Playgroud)
所以我试过了
from PyQt5.QtWidgets import QtGui
Run Code Online (Sandbox Code Playgroud)
结果如下:
ImportError: cannot import name QtGui
Run Code Online (Sandbox Code Playgroud)
然后我尝试根据Pyinstaller更改sys.path :ImportError:无法导入名称QtGui工作但它仍然给我相同
ImportError: cannot import name QtGui
Run Code Online (Sandbox Code Playgroud)
更新:看起来我确实导入了QtGui,因为当我进入IDLE并尝试它时,它仍然自动完成QMovie和一大堆其他属性.有什么理由QMainWindow不会在那里吗?(事实并非如此,QDialog也不重要)
ekh*_*oro 49
假设一切都安装正确,您需要稍微调整导入从PyQt4到PyQt5的端口.
主要的GUI元素在QtWidgets模块中,而更基本的GUI元素在QtGui中.有关更多详细信息,请参阅Qt模块页面.
示例代码需要更改为:
from PyQt5 import QtCore, QtGui, QtWidgets
class MainWindow(QtWidgets.QMainWindow, UI.MainUI.Ui_MainWindow):
...
Run Code Online (Sandbox Code Playgroud)
有关从PyQt4移植到PyQt5的更多详细信息,请参阅:PyQt4和PyQt5之间的差异.
| 归档时间: |
|
| 查看次数: |
58213 次 |
| 最近记录: |