根据您的注释,您使用的是my previous answer作为基础,但是正如您指出的那样,由于上一个问题的上下文与您当前的代码不同,所以这些都失败了,在前面的例子中,有一个父窗口小部件设置了按钮,而该小部件只是在QTableWidget中设置的。在这种情况下,它必须是直接的:from PyQt5 import QtCore, QtGui, QtWidgets
class WidgetGallery(QtWidgets.QDialog):
def __init__(self, parent=None):
super(WidgetGallery, self).__init__(parent)
self.table = QtWidgets.QTableWidget(10, 3)
col_1 = QtWidgets.QTableWidgetItem("first_col")
col_2 =QtWidgets.QTableWidgetItem("second_col")
deleteButton = QtWidgets.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 = QtWidgets.QGridLayout(self)
self.mainLayout.addWidget(self.table)</