【发布时间】:2020-10-15 13:09:24
【问题描述】:
我创建了一个作为父类的类“commonlessonItem” 创建 parent 后,我通过子类 'commonlessonpiskelStepItem' 继承了它 我在布局中添加了一个小部件 运行程序后,我遇到了这个问题。
QLayout: Attempting to add QLayout "" to CommonLessonPiskelStepItem "", which already has a layout
QWidget::setLayout: Attempting to set QLayout "" on CommonLessonPiskelStepItem "", which already has a layout
这里有什么问题? 我的代码来了
class CommonLessonItem(MyFrame):
def __init__(self,parent):
super(CommonLessonItem,self).__init__(parent)
self.lbl_title = CommonHeaderLabel(self)
self.lbl_description = CommonDescriptionLabel(self)
self.lbl_icon = CommonHeaderIcon(self)
self.initUI()
self.isChild = False
def initUI(self):
#set layout
self.layout = MyGridLayout(self)
self.layout.addWidget(self.lbl_title,0,0,1,19)
self.layout.addWidget(self.lbl_icon,0,19,1,1)
self.layout.addWidget(self.lbl_description,1,0,1,20)
#initialize info
self.setInfo("Title","Description",None)
self.setLayout(self.layout)
def setInfo(self,title,description,iconPath):
self.lbl_title.setText(title)
self.lbl_description.setText(description)
if(iconPath is not None):
self.lbl_icon.setPixmap(QPixmap(iconPath))
class CommonLessonPiskelStepItem(CommonLessonItem):
def __init__(self,parent):
super(CommonLessonPiskelStepItem,self).__init__(parent)
# self.lbl_referUrl = CommonDescriptionLabel('wwww.piskelapp.com')
self.initUI()
self.lbl_icon.setPixmap(QPixmap('icons/lookstep'))
def initUI(self):
super().initUI()
pass
if __name__ == "__main__":
app = QApplication(sys.argv)
mw = CommonLessonPiskelStepItem(None)
mw.show()
sys.exit(app.exec_())
【问题讨论】:
标签: python inheritance layout pyqt5