在 pyqt5 中 ,向 qtablewidget中添加数据,并设置第一列为checkbox
时间: 2024-04-17 14:25:16 浏览: 222
在 PyQt5 中,可以使用 QTableWidget 来创建一个表格,并向其中添加数据。要设置第一列为复选框,可以使用 QCheckBox 作为单元格的小部件。
以下是一个示例代码,演示了如何向 QTableWidget 中添加数据和设置第一列为复选框:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QTableWidget, QTableWidgetItem, QCheckBox
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建 QTableWidget
self.tableWidget = QTableWidget(self)
self.setCentralWidget(self.tableWidget)
# 设置表格的行数和列数
self.tableWidget.setRowCount(3)
self.tableWidget.setColumnCount(2)
# 向表格中添加数据和复选框
for row in range(self.tableWidget.rowCount()):
checkBox = QCheckBox()
self.tableWidget.setCellWidget(row, 0, checkBox)
self.tableWidget.setItem(row, 1, QTableWidgetItem(f"Item {row+1}"))
# 设置第一列的宽度为适应内容
self.tableWidget.resizeColumnToContents(0)
# 设置第一列为复选框列
self.tableWidget.setColumnWidth(0, 30)
# 设置表格不可编辑
self.tableWidget.setEditTriggers(QTableWidget.NoEditTriggers)
if __name__ == '__main__':
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
```
在上面的示例中,我们创建了一个带有两列的表格,并向其中添加了三行数据。第一列使用了 QCheckBox 作为单元格的小部件,第二列使用了 QTableWidgetItem 来显示文本。我们还设置了第一列的宽度适应内容,并将其设置为复选框列。最后,我们将表格设置为不可编辑。
你可以根据自己的需求修改示例代码来满足你的实际情况。希望对你有所帮助!
阅读全文
相关推荐















