2013-12-23 3 views
17

방금 ​​PyQt4에서 5로 옮겨서 QtGui에 문제가 있습니다. 내 자신의 빌드가 아닌 32 비트 Windows 설치 프로그램을 사용하여 설치했습니다.PyQt5가 QtGui를 가져 오지 못했습니다.

내가 수행 할 때

ImportError: cannot import name QtGui 
:

from PyQt5 import QtGui 

나는

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

그래서 난 시도 얻을 결과

from PyQt5.QtWidgets import QtGui 

는 내가 주위 Pyinstaller: ImportError: cannot import name QtGui 작업에 따라 sys.path에 변경을 시도하지만 여전히 날 같은

을 제공
ImportError: cannot import name QtGui 

업데이트 : IDLE에 가서하려고 할 때 때문에 실제로 수입 QtGui에서처럼 같습니다 그것은 여전히 ​​QMovie와 다른 많은 속성들을 자동 완성합니다. 거기에 QMainWindow가 없을 이유가 있습니까?

+0

은 초보자를 위해 아나콘다를 사용하여 개발자 환경을 설정하도록 제안합니다. [내 기사를 따르십시오] (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

관련 문제