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:QtGuiの名前をインポートできません 回避策に従ってsys.pathを変更しようとしましたが、それでも同じことができます
ImportError: cannot import name QtGui
更新:実際にQtGuiをインポートするように見えます。 QMainWindowが存在しない理由はありますか? (そうではなく、どちらもQDialogであり、重要だと思われます)
すべてが正しくインストールされていると仮定すると、PyQt4からPyQt5へのポートにインポートをわずかに調整する必要があります。
メインのGUI要素はQtWidgetsモジュールにあり、より基本的なGUI要素はQtGuiにあります。詳細については、 Qtモジュールページ を参照してください。
サンプルコードを次のように変更する必要があります。
from PyQt5 import QtCore, QtGui, QtWidgets
class MainWindow(QtWidgets.QMainWindow, UI.MainUI.Ui_MainWindow):
...
PyQt4からPyQt5への移植の詳細については、「 PyQt4とPyQt5の違い 」を参照してください。