ui.tableWidget显示动态字典
时间: 2025-01-21 20:35:24 浏览: 29
在PyQt5中,`QTableWidget` 是一个用于显示和编辑数据的表格控件。你可以使用动态字典来向 `QTableWidget` 添加数据。以下是一个示例代码,展示如何将动态字典添加到 `QTableWidget` 中:
```python
import sys
from PyQt5.QtWidgets import QApplication, QTableWidget, QTableWidgetItem, QVBoxLayout, QWidget
class TableWidgetExample(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 创建 QTableWidget
self.tableWidget = QTableWidget()
self.tableWidget.setRowCount(0)
self.tableWidget.setColumnCount(3)
self.tableWidget.setHorizontalHeaderLabels(['Key1', 'Key2', 'Key3'])
# 动态字典数据
data = [
{'Key1': 'Value1', 'Key2': 'Value2', 'Key3': 'Value3'},
{'Key1': 'Value4', 'Key2': 'Value5', 'Key3': 'Value6'},
{'Key1': 'Value7', 'Key2': 'Value8', 'Key3': 'Value9'}
]
# 添加数据到表格
for item in data:
row = self.tableWidget.rowCount()
self.tableWidget.insertRow(row)
for key in ['Key1', 'Key2', 'Key3']:
self.tableWidget.setItem(row, ['Key1', 'Key2', 'Key3'].index(key), QTableWidgetItem(item[key]))
# 设置布局
layout = QVBoxLayout()
layout.addWidget(self.tableWidget)
self.setLayout(layout)
self.setWindowTitle('QTableWidget Example')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = TableWidgetExample()
sys.exit(app.exec_())
```
在这个示例中,我们首先创建了一个 `QTableWidget` 控件,并设置了表头。然后,我们定义了一个包含多个字典的列表 `data`,每个字典代表一行数据。接着,我们遍历 `data` 列表,将每个字典的键值对添加到表格中。
阅读全文
相关推荐









