2016-09-23 1 views
0

코드를 실행할 때 속성 오류가있는 것 같습니다. 특히, 나는 발생하는 오류는 다음과 같습니다PyQt5 속성 오류 : 'GUI'객체에 'setLayout'속성이 없습니다.

AttributeError: 'GUI' object has no attribute 'setLayout' 

내가 현재 사용하고 코드 : 클래스도 object도 당신이 self를 통해 액세스하려고 방법을 정의하기 때문에

class GUI(object): 
    def __init__(self): 
     super(GUI,self).__init__() 
     self.initUI() 

    def initUI(self): 
     review = QtWidgets.QLabel('Review') 
     reviewEdit = QtWidgets.QTextEdit() 
     grid = QtWidgets.QGridLayout() 

     grid.addWidget(review, 3, 0) 
     grid.addWidget(reviewEdit, 3, 1, 5, 1) 
     self.setLayout(grid) 
     self.setGeometry(300,300,350,300) 
     self.setWindowTitle('Sentiment Analysis') 
     self.show() 
+0

이것은 내가 가져온 모듈입니다 : PyQt5에서 가져 오기 QtGui, QtWidgets, QtCore –

+0

''GUI'' 클래스는''object''를 상속합니다. 내가 틀렸다고 정정하되,''self'' 또는''object''에''setLayout''을 호출하려고합니다. ''MainWindow'' 또는 다른 Qt 부모/위젯이 필요하지 않습니까? – NuclearPeon

답변

2

당신은 속성 오류 . 그들을 정의하는 클래스 Qt에서 상속해야합니다. 예를 들어, QWidget을 상속합니다.

from PyQt5 import QtWidgets 

class GUI(QtWidgets.QWidget): 
    ... 

은 수업에 사용할 수 있도록합니다. 기능을 사용하려면 사용 케이스에 맞는 PyQt 기본 클래스를 사용하십시오.

+0

Worked! 도와 주셔서 감사합니다 –

관련 문제