QTreeVirew 与 QTreeWidget 简单使用
时间: 2024-02-04 20:01:41 浏览: 76
QTreeView 和 QTreeWidget 都是 Qt 中用于显示树形结构的控件,它们的使用方式有些不同。
QTreeWidget 是一个基于 QWidget 的控件,可以直接在 Qt Designer 中使用。它使用树形结构来展示数据,每个项都是一个 QTreeWidgetItem 对象。可以通过设置 QTreeWidgetItem 的父子关系来构建树形结构,并可以为每个项设置图标、文本等属性。
以下是一个简单的 QTreeWidget 示例代码:
```python
from PyQt5.QtWidgets import QApplication, QWidget, QTreeWidget, QTreeWidgetItem
app = QApplication([])
window = QWidget()
tree = QTreeWidget()
tree.setColumnCount(2) # 设置列数
# 添加根节点
root = QTreeWidgetItem(tree)
root.setText(0, 'Root')
root.setText(1, 'Description')
# 添加子节点
child1 = QTreeWidgetItem(root)
child1.setText(0, 'Child1')
child1.setText(1, 'Description of Child1')
child2 = QTreeWidgetItem(root)
child2.setText(0, 'Child2')
child2.setText(1, 'Description of Child2')
tree.addTopLevelItem(root) # 添加根节点到树中
window.setLayout(tree)
window.show()
app.exec_()
```
QTreeView 是一个基于 QAbstractItemView 的控件,它使用 model-view 架构来展示数据。可以使用 QStandardItemModel 来创建数据模型,并使用 QTreeView 来展示数据。
以下是一个简单的 QTreeView 示例代码:
```python
from PyQt5.QtWidgets import QApplication, QWidget, QTreeView, QFileSystemModel
app = QApplication([])
window = QWidget()
tree = QTreeView()
model = QFileSystemModel()
model.setRootPath('C:\\') # 设置根目录
tree.setModel(model)
window.setLayout(tree)
window.show()
app.exec_()
```
以上是 QTreeWidget 和 QTreeView 的简单使用示例,希望能对你有所帮助。
阅读全文