【发布时间】:2019-06-16 10:14:02
【问题描述】:
基本上我在 QTableWidget 中的每一行都有一个删除按钮 点击事件。
如何找到被点击的特定按钮的行索引?
class WidgetGallery(QDialog):
def __init__(self, parent=None):
super(WidgetGallery, self).__init__(parent)
self.table = QTableWidget(10, 3)
col_1 = QTableWidgetItem("first_col")
col_2 = QTableWidgetItem("second_col")
deleteButton = QPushButton("delete_this_row")
deleteButton.clicked.connect(self.deleteClicked)
self.table.setItem(0, 0, col_1)
self.table.setItem(0, 1, col_2)
self.table.setCellWidget(0, 2, deleteButton)
self.mainLayout = QGridLayout()
self.mainLayout.addWidget(self.table)
def deleteClicked(self):
sender = self.sender()
row = sender.parent().........?
【问题讨论】:
-
和这个C++版本一模一样,stackoverflow.com/questions/46329431/…
-
但是看起来C++接口和python接口有点不同,我在python中找不到类似的功能
-
我试图提供一个小例子,在格式化方面遇到了困难
-
最后一行是我遇到麻烦的地方,无法从sender.parent()中找出行索引,根据pyqt.readthedocs.io/en/latest/api/qtwidgets/qtablewidget.htmlindexFromItem 取QTableWidgetItem,但按钮是QWidget
标签: python pyqt pyqt5 qtablewidget