PyQt5中QTreeView双击事件获取节点路径信息
(2018-02-26 22:11:10)
要实现题目的结果要慢慢讲,首先从继承关系上讲,QTreeWidget是QTreeView的子类,作为子类必然能更细致化和精细化实现特定功能。一般的,树形结构是通过QTreeWidget和QTreeWidgetItem类实现的。其中QTreeWidgetItem实现节点的实例化和添加。
系统定制模式:
一般来说节点需要一个个实例化并添加(可通过循环),这样有时不是很方便,特别是当窗口产生的是比较复杂的树形结构时,一般都是通过QTreeView类来实现的,而不是QTreeWidget类,二者最大的区别是前者可以使用操作系统提供的定制模式,就好像一套模板,最典型的就是“文件系统盘树形列表”。
两句简单代码实现,当通过QtDesigner拖入一个QTreeView对象:
model = QDirModel()
self.treeView.setModel(model)
self.treeView.setRootIndex(model.index(r'C:\Users\baozh\Downloads\c3ato-T7')) #设置该路径为当前根路径
其实这里隐含了一个操作:实例一个路径的模式索引然后再调用函数设置目录
model.index(r'C:\Us