2016-09-23 140 views
0

當我運行我的代碼時,似乎有一個屬性錯誤。具體來說,我遇到的錯誤是:PyQt5屬性錯誤:'GUI'對象沒有屬性'setLayout'

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

目前我正在使用的代碼:

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

你得到一個屬性錯誤,因爲無論你的班級,也沒有object定義你試圖通過self訪問方法。您需要從定義它們的Qt類繼承這些。例如,從QWidget繼承。

from PyQt5 import QtWidgets 

class GUI(QtWidgets.QWidget): 
    ... 

將使這些可用於您的班級。用適當的PyQt替代您的用例來獲得功能。

+0

工作!謝謝您的幫助 –

相關問題