2016-09-23 104 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

工作!谢谢您的帮助 –

相关问题