2013-12-23 7 views
17

PyQt4から5に移動しましたが、QtGuiに問題があります。私は自分のビルドではなく、32ビットのWindowsインストーラを使ってインストールしました。PyQt5がQtGuiのインポートに失敗しました

私は:

ImportError: cannot import name QtGui 

from PyQt5 import QtGui 

は、私は、私は、その結果

from PyQt5.QtWidgets import QtGui 

を試してみました

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

を取得

はその後、私の周りPyinstaller: ImportError: cannot import name QtGui作業に応じてのsys.pathを変更しようとしましたが、それはまだ私に同じ

を与える
ImportError: cannot import name QtGui 

アップデート:私はIDLEに行くとしようとするので、私は実際にインポートQtGuiで行うように見えますそれはQMovieと他の多くの属性をオートコンプリートします。 QMainWindowがそこにない理由がありますか?

+0

は、初心者の方にAnacondaを使用してDev環境をセットアップすることを提案しています。私の記事に従ってください(https://suiwenfeng.tk/pycharm-intigrated-with-pyqt5anaconda.html)。 – suiwenfeng

答えて

27

すべてが正しくインストールされていると仮定して、PyQt4からPyQt5への移植に少しインポートを調整する必要があります。

メインのGUI要素はQtWidgetsモジュールにありますが、より基本的なGUI要素はQtGuiにあります。詳細は、Qt modules pageを参照してください。

例のコードは次のように変更する必要がありますPyQt5にPyQt4からの移植の詳細については

from PyQt5 import QtCore, QtGui, QtWidgets 

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

、以下を参照してください。Differences Between PyQt4 and PyQt5

+0

私はこのような簡単な答えのためにこれ以上長い時間を費やしました。 – Faller

+6

'QApplication'(例えば、' app = QtWidgets.QApplication(sys.argv) ' ' app.exec _() ')もQTWidgetsに移動されました。 – BenB

関連する問題