0
我是python的新手,並對Qt有以下問題;當我運行這個代碼並在我創建的表中選擇一個項目時,我的scene_selection_changed插槽不被執行,或者至少它看起來如此。誰能告訴我爲什麼?在QGraphisScene中選擇窗口小部件
class MyWidget(QWidget):
def __init__(self, parent=None):
super(MyWidget, self).__init__(parent)
self.scene = QGraphicsScene()
self.view = QGraphicsView(self.scene)
self.view.show()
self.parent_proxy = self.scene.addWidget(self)
self.parent_layout = QGraphicsLinearLayout(Qt.Vertical, self.parent_proxy)
self.table_view = QTableWidget(2,1)
item = QTableWidgetItem("Item1")
item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)
self.table_view.setItem(0, 0, item)
item = QTableWidgetItem("Item2")
item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)
self.table_view.setItem(1, 0, item)
self.table_proxy = self.scene.addWidget(self.table_view)
self.parent_layout.addItem(self.table_proxy)
self.scene.selectionChanged.connect(self.scene_selection_changed)
def scene_selection_changed(self):
print "Scene selection changed"
if __name__ == '__main__':
app = QApplication(sys.argv)
widget = MyWidget()
widget.show()
app.exec_()
sys.exit()
嗨,它的工作,謝謝。現在我有另一個問題,但我認爲它一定很容易解決。我剛剛編輯了這篇文章。你可以幫幫我嗎? – Keks
@Keks一般來說,如果你還有其他問題,你應該發表另一個問題。將問題添加到正確回答的問題本質上是令人討厭的。 –