可以。可以使用setItem()方法将QPushButton添加到QTableWidget中的单元格中。例如:
from PyQt5.QtWidgets import QWidget, QTableWidget, QTableWidgetItem, QPushButton, QHBoxLayout
class MyTable(QWidget):
def __init__(self):
super().__init__()
self.table_widget = QTableWidget()
self.table_widget.setRowCount(2)
self.table_widget.setColumnCount(2)
# 添加 pushbutton 到表格中
for i in range(2):
for j in range(2):
button = QPushButton('Click')
layout = QHBoxLayout()
layout.addWidget(button)
layout.setAlignment(button, Qt.AlignCenter)
widget = QWidget()
widget.setLayout(layout)
self.table_widget.setCellWidget(i, j, widget)
self.layout = QVBoxLayout()
self.layout.addWidget(self.table_widget)
self.setLayout(self.layout)
在这个示例中,我们用QPushButton替换了表格中每个单元格的默认内容。我们创建一个新的QWidget并将水平布局添加到其中,然后将QPushButton添加到布局中。最后,我们将这个新的QWidget添加到单元格中,并使用setCellWidget()方法将其放置在正确的行和列中。