Python-PYQT QTreeWidget的使用

本文详细介绍了PyQt5中QTreeWidget组件的基本使用方法,包括如何通过复选框获取状态,点击响应以修改选中项,以及如何获取选中行的父节点和所在列。适用于希望深入了解QTreeWidget特性和事件处理的Python GUI开发者。

工具/版本

(1)安装环境:Windows7 64bit

(2)使用版本Python3.6

(3)PYQT5

(4)eric6

 

一,QTreeWidget的基本使用

基本使用可以参考这篇Pyqt5 QTreeWidget使用

二,补充一些点击响应时间

1,使用复选框,点击复选框,获取当前复选框状态

self.tree.itemClicked.connect(self.isclick)

def isclick(self, item):
        print(item.checkState(1), item.text(0))

可以通过对这个项目操作

2,点击某一行,或者当前行的信息,并修改

self.tree.itemSelectionChanged.connect(self.selectitem)

    def selectitem(self):
        for ii in self.tree.selectedItems():
            print(ii.text(0))
            ii.setText(1, "nihao")

3,获取选中行所在的父节点

前面用法同2

print(ii.parent().text(0))

3、获取当前点击行的列

    self.tree.itemClicked['QTreeWidgetItem*','int'].connect(self.selectItem)
    def selectItem(self, item, column):
        print(column)
        print(item.checkState(1), item.text(0))

 

### PyQt5 QTreeWidget 显示子节点 为了在 `QTreeWidget` 中显示子节点,可以通过创建父项 (`QTreeWidgetItem`) 并向其添加子项来构建层次结构。以下是具体实现方式: #### 创建父子关系的树形结构 通过实例化 `QTreeWidgetItem` 对象并将其作为参数传递给另一个 `QTreeWidgetItem` 的构造函数,可以建立父子关系。 ```python import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QTreeWidget, QTreeWidgetItem class MainWindow(QMainWindow): def __init__(self): super().__init__() tree = QTreeWidget(self) tree.setColumnCount(1) # 设置列标题 tree.setHeaderLabels(['Node']) # 创建根节点 root_item = QTreeWidgetItem(tree, ['Root Node']) # 向根节点添加子节点 child_item_1 = QTreeWidgetItem(root_item, ['Child Node 1'])[^1] # 继续为 Child Node 1 添加更深层次的子节点 sub_child_item_1 = QTreeWidgetItem(child_item_1, ['Sub-child Node 1.1']) sub_child_item_2 = QTreeWidgetItem(child_item_1, ['Sub-child Node 1.2']) # 向根节点再添加第二个子节点 child_item_2 = QTreeWidgetItem(root_item, ['Child Node 2']) # 将窗口设置为中心部件 self.setCentralWidget(tree) if __name__ == '__main__': app = QApplication(sys.argv) window = MainWindow() window.show() sys.exit(app.exec_()) ``` 这段代码展示了如何在一个 `QTreeWidget` 控件内定义具有多层嵌套结构的数据视图。每个 `QTreeWidgetItem` 实例代表一个单独的条目,并且这些条目之间能够形成父子关联,从而构成完整的树状展示效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值