在Qtablewidget中添加按钮
时间: 2023-05-30 09:04:34 浏览: 294
QTableView插入各种按钮
3星 · 编辑精心推荐
在QTableWidget中添加按钮需要使用自定义单元格小部件。下面是一个例子,展示如何在QTableWidget中添加按钮:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QTableWidget, QTableWidgetItem, QPushButton, QWidget, QHBoxLayout
from PyQt5.QtCore import Qt
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建表格
self.tableWidget = QTableWidget()
self.tableWidget.setRowCount(2)
self.tableWidget.setColumnCount(2)
self.setCentralWidget(self.tableWidget)
# 添加按钮到表格中
for row in range(2):
for column in range(2):
button = QPushButton("Button")
button.clicked.connect(self.buttonClicked)
widget = QWidget()
layout = QHBoxLayout(widget)
layout.addWidget(button)
layout.setAlignment(Qt.AlignCenter)
layout.setContentsMargins(0, 0, 0, 0)
widget.setLayout(layout)
self.tableWidget.setCellWidget(row, column, widget)
def buttonClicked(self):
print("Button clicked")
if __name__ == '__main__':
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
```
在这个例子中,我们首先创建了一个QTableWidget,并设置它的行数和列数。然后,我们在表格中循环遍历每个单元格,为每个单元格创建一个QPushButton,并将其添加到一个QWidget中。我们还使用QHBoxLayout将QPushButton居中,并将QWidget设置为单元格的小部件。最后,我们将QWidget添加到QTableWidget中的单元格中。
我们还连接了每个按钮的clicked信号到buttonClicked函数,当按钮被点击时,该函数将被调用。在这个例子中,我们只是简单地打印了一条消息。
阅读全文