pyqt5界面设计 tree
时间: 2024-07-19 16:01:16 浏览: 73
PyQT5中QTreeWidget节点的填充实例
PyQt5是一个结合了Python语言和Qt库的工具包,用于创建图形用户界面(GUI)。在PyQt5中,QTreeWidget是一个常用组件,它提供了一个树形结构,可以用来展示层次数据,比如文件系统、菜单结构或项目组织等。
设计一个基于QTreeWidget的界面通常包含以下几个步骤:
1. 导入所需模块:首先需要导入`QtWidgets`模块中的`QApplication`, `QWidget`, `QTreeView`, `QStandardItemModel`, 和`QStandardItem`。
```python
from PyQt5.QtWidgets import QApplication, QWidget, QTreeView, QStandardItemModel, QStandardItem
```
2. 创建窗口:创建一个`QWidget`实例,并设置窗口的基本属性,如标题。
```python
class MainWindow(QWidget):
def __init__(self):
super(MainWindow, self).__init__()
self.setWindowTitle("PyQt5 Tree View Example")
```
3. 设置模型:创建一个`QStandardItemModel`作为数据源,然后添加节点(QStandardItem)到模型中,形成树状结构。
```python
model = QStandardItemModel()
root_item = QStandardItem("Root Node")
model.invisibleRootItem().appendRow(root_item)
# 添加子节点
sub_item_1 = QStandardItem("Sub Node 1")
sub_item_2 = QStandardItem("Sub Node 2")
root_item.appendRow([sub_item_1, sub_item_2])
```
4. 显示树视图:在窗口上添加`QTreeView`控件,并将其模型绑定到这个控件上。
```python
tree_view = QTreeView(self)
tree_view.setModel(model)
tree_view.expandAll() # 展开所有节点
self.setCentralWidget(tree_view)
```
5. 最后,设置窗口大小并显示应用程序。
```python
if __name__ == "__main__":
app = QApplication([])
main_window = MainWindow()
main_window.show()
app.exec_()
```
阅读全文