QTreeView加载XML
时间: 2023-07-09 17:16:08 浏览: 83
QTreeView示例
要在QTreeView中加载XML数据,可以使用QStandardItemModel。以下是一个简单的示例代码:
```python
import xml.etree.ElementTree as ET
from PyQt5.QtGui import QStandardItem, QStandardItemModel
from PyQt5.QtWidgets import QApplication, QTreeView
# 解析XML数据
xml_data = """
<root>
<item name="Item 1">
<subitem name="Subitem 1-1" />
<subitem name="Subitem 1-2" />
</item>
<item name="Item 2">
<subitem name="Subitem 2-1" />
<subitem name="Subitem 2-2" />
</item>
</root>
"""
root = ET.fromstring(xml_data)
# 创建QStandardItemModel,并将XML数据添加到模型中
model = QStandardItemModel()
for item in root.findall("item"):
parent_item = QStandardItem(item.attrib["name"])
for subitem in item.findall("subitem"):
child_item = QStandardItem(subitem.attrib["name"])
parent_item.appendRow(child_item)
model.appendRow(parent_item)
# 创建QTreeView,并将模型设置为其数据源
app = QApplication([])
tree_view = QTreeView()
tree_view.setModel(model)
tree_view.show()
app.exec_()
```
在上面的代码中,我们首先使用xml.etree.ElementTree模块解析XML数据。然后,我们使用QStandardItemModel创建一个模型,并将XML数据添加到模型中。最后,我们创建一个QTreeView,并将模型设置为其数据源,以显示XML数据。
阅读全文