在 QTableWidgetItem 中添加按钮需要使用 QTableWidget 和 QTableWidgetItem 一起配合使用。具体步骤如下:
- 创建 QTableWidget 实例,设置表格行列数;
- 使用 setItem() 方法为每个单元格创建 QTableWidgetItem 实例,并将其添加到表格中;
- 创建 QPushButton 实例,并将其设置为单元格的 widget;
- 将 QPushButton 的 clicked() 信号与槽函数进行连接。
示例代码如下:
from PyQt5.QtWidgets import QApplication, QMainWindow, QTableWidget, QTableWidgetItem, QPushButton
from PyQt5.QtCore import Qt
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.table = QTableWidget()
self.table.setRowCount(3)
self.table.setColumnCount(2)
for i in range(self.table.rowCount()):
for j in range(self.table.columnCount()):
item = QTableWidgetItem('Cell ({}, {})'.format(i+1, j+1))
button = QPushButton('Click me')
button.clicked.connect(self.buttonClicked)
self.table.setItem(i, j, item)
self.table.setCellWidget(i, j, button)
self.setCentralWidget(self.table)
def buttonClicked(self):
print('Button clicked')
if __name__ == '__main__':
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
以上代码将在每个单元格中添加一个 QPushButton,并将其点击事件与 buttonClicked()
槽函数进行连接。当用户点击按钮时,槽函数会输出 ‘Button clicked’。