我正在做一个现有项目,而我对PyQt的经验很少,所以我不确定在这里制作一个最小的工作示例需要什么,也许有人可以帮助我。
代码中有一部分创建了QPushButton
并将其添加到QGraphicsScene
中,如下所示:
b = QPushButton('foo')
scene.addWidget(b)
我想用从b
继承的类替换QPushButton
,例如:
class Bar(QPushButton):
def __init__(self):
super(Bar, self).__init__('foo')
我相信以下内容应与第一个代码示例相同:
b = Bar()
scene.addWidget(b)
相反,代码在这里崩溃,到目前为止,我仍然无法弄清原因。有什么明显的地方我做错了吗?
答案 0 :(得分:0)
尝试一下:
class Bar(QPushButton):
def __init__(self, button):
super(Bar, self).__init__()
self.setText(button)
self.clicked.connect(lambda: print("Press button"))
class Desktop(QMainWindow):
def __init__(self):
super(Desktop, self).__init__()
self.centerWidget = QWidget(self)
layout = QVBoxLayout()
scene = QGraphicsScene()
view = QGraphicsView(scene)
b = Bar("Press me :)")
scene.addWidget(b)
layout.addWidget(view)
self.centerWidget.setLayout(layout)
self.setCentralWidget(self.centerWidget)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Desktop()
ex.show()
sys.exit(app.exec_())