QTreeVirew 与 QTreeWidget 简单使用
时间: 2024-02-03 19:04:27 浏览: 89
QTreeView 和 QTreeWidget 都是 Qt 框架中常用的用于显示树形结构数据的控件,它们的使用方法类似,但是 QTreeView 更加灵活,可以使用自定义模型来显示数据,而 QTreeWidget 则更加简单易用,提供了一种基于 item 的数据模型。
下面是一个简单的示例,展示如何使用 QTreeView 和 QTreeWidget 来显示树形结构数据:
QTreeView 示例:
```python
from PyQt5.QtWidgets import QApplication, QTreeView, QFileSystemModel, QWidget, QVBoxLayout
import sys
app = QApplication(sys.argv)
window = QWidget()
layout = QVBoxLayout(window)
# 创建文件系统模型
model = QFileSystemModel()
model.setRootPath('')
# 创建树形控件
tree = QTreeView()
tree.setModel(model)
tree.setRootIndex(model.index(''))
layout.addWidget(tree)
window.show()
sys.exit(app.exec_())
```
在上述示例中,我们使用 QFileSystemModel 来创建一个文件系统模型,然后将其设置为 QTreeView 的模型,最后使用 setRootIndex() 方法将其设置为根节点。运行程序后,会显示出一个树形结构的文件系统。
QTreeWidget 示例:
```python
from PyQt5.QtWidgets import QApplication, QTreeWidget, QTreeWidgetItem, QWidget, QVBoxLayout
import sys
app = QApplication(sys.argv)
window = QWidget()
layout = QVBoxLayout(window)
# 创建树形控件
tree = QTreeWidget()
tree.setColumnCount(2)
tree.setHeaderLabels(['Name', 'Age'])
# 添加根节点
root = QTreeWidgetItem(tree)
root.setText(0, 'Root')
# 添加子节点
child1 = QTreeWidgetItem(root)
child1.setText(0, 'Child 1')
child1.setText(1, '10')
child2 = QTreeWidgetItem(root)
child2.setText(0, 'Child 2')
child2.setText(1, '20')
# 添加子节点的子节点
grandchild = QTreeWidgetItem(child1)
grandchild.setText(0, 'Grandchild')
grandchild.setText(1, '5')
layout.addWidget(tree)
window.show()
sys.exit(app.exec_())
```
在上述示例中,我们创建了一个 QTreeWidget 控件,设置了两列,并添加了一个根节点和两个子节点。然后,我们在子节点中添加了一个子节点,并设置了节点的文本内容。运行程序后,会显示出一个类似于下面这样的树形结构:
```
Name | Age
------------
Root |
├─ Child 1 | 10
│ └─ Grandchild | 5
└─ Child 2 | 20
```
以上就是 QTreeView 和 QTreeWidget 的简单使用方法。
阅读全文
相关推荐
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)