QTreeView显示XML
时间: 2023-09-13 09:03:07 浏览: 149
要在QTreeView中显示XML数据,您需要使用QStandardItemModel类。您可以使用xml.etree.ElementTree模块从XML文件中读取数据,然后将其转换为QStandardItemModel。以下是一个简单的例子,可以帮助您开始:
```python
import xml.etree.ElementTree as ET
from PyQt5.QtGui import QStandardItemModel, QStandardItem
# 读取XML文件
root = ET.parse('example.xml').getroot()
# 创建QStandardItemModel
model = QStandardItemModel()
model.setHorizontalHeaderLabels(['Name', 'Value'])
# 遍历XML数据并添加到model中
def add_items(parent_item, element):
item = QStandardItem(element.tag)
parent_item.appendRow([item, QStandardItem(element.text)])
for child_element in element:
add_items(item, child_element)
for child_element in root:
add_items(model, child_element)
# 在QTreeView中显示model
tree_view = QTreeView()
tree_view.setModel(model)
tree_view.expandAll()
```
在这个例子中,我们使用xml.etree.ElementTree模块从XML文件中读取数据。我们遍历XML数据,并将其添加到QStandardItemModel中。在QTreeView中,我们设置了model并展开了所有的节点。
阅读全文