Qt递归生成qtablewidget
时间: 2023-06-29 09:19:29 浏览: 132
好的,可以通过以下代码递归生成QTableWidget:
```python
def createTableWidget(parent, items):
row = 0
for item in items:
parent.insertRow(row)
parent.setItem(row, 0, QTableWidgetItem(item['text']))
parent.setItem(row, 1, QTableWidgetItem(item['value']))
if 'children' in item:
child_items = item['children']
child_table = QTableWidget(parent)
child_table.setColumnCount(2)
child_table.setHorizontalHeaderLabels(['Text', 'Value'])
child_table.verticalHeader().setVisible(False)
createTableWidget(child_table, child_items)
parent.setCellWidget(row, 1, child_table)
row += 1
```
其中,参数`parent`是父表格,参数`items`是一个列表,每个元素包含一个单元格的信息,包括文本和值。如果某个单元格有子表格,则递归调用`createTableWidget()`函数来生成子表格。可以根据需要修改表格的属性和样式。
阅读全文