对PyQt5中树结构的实现方法详解

  

树的实质是很多条数据按照一定的内在关系,分层级显示出来,因此每一条数据包括数据项和相互关系。数据项就对应了树中的列,而相互关系对应的是应该显示在哪一个条目下。

  

PyQt5中,树的实现有两种形式,其中较为简单的是使用Tree小部件控件。

  

对于静态的数据,实现树结构可以直接在Qt中拖入一个Tree小部件控件,然后右键点击它,选择编辑。

  

对PyQt5中树结构的实现方法详解

  

对PyQt5中树结构的实现方法详解

  

其中列是每一条数据有几个数据项,项目体现的是数据和数据之间是什么关系。

  

对于我们需要从数据库中查出来的数据,我么需要根据实际的数据进行排列,确定一个树的每一级有多少个条目。

  

其中有一种可行的实现方法是,受限用SQL对查到的数据按照树从上到下的结构排序,然后用如下代码实现:

        a=[' 1 ', ' 11 ',“12”,“13”,“2”,“21”,“22”,“23”)   #你的数据按照   #【根、child1 child11、child12 child13, child2, child21, child22】   #这种顺序排列   因为我在范围(len (a)):   如果len([我])==1:   根=QtWidgets.QTreeWidgetItem (self.treeWidget)   root.setText(0,(我))   elif len([我])==2:   子=QtWidgets.QTreeWidgetItem(根)   child.setText(0,(我))   之前      

用上述代码得到的就是一个仅仅只有显示功能的树。

  

一般情况下,我们希望我们点击树的某一个条目,能够有相应的操作。

  

进入到信号和槽的编辑界面,左键点击树小部件拖动到形式的空白处,出现信号和槽的编辑界面。

  

对PyQt5中树结构的实现方法详解

  

左边是Tree小部件的信号的列表,右边是我们自定义的槽,可以点击编辑进行增加和删除。

  

<强> Tree小部件的信号说明可以参考QT的帮助文档。如下是itemClicked信号的说明:

  

(信号)无效QTreeWidget: itemClicked (QTreeWidgetItem *项,int列)

  

发出这个信号是当用户单击内部部件。

  

指定的项目是被点击的物品。该列点击项的列。如果没有点击物品,没有会发出信号。

  

经过上述编辑之后,ui文件生成的py文件中,实现信号和槽连接的代码如下:

        self.treeWidget.itemClicked [' QTreeWidgetItem * ', ' int '] .connect (Form.tree_item_click)   #其中tree_item_click是自己定义的槽函数      

槽函数的参数与信号的参数要相同,或者更少。

        def tree_item_click(自我,物品,n):   打印(item.text (n)      

项为QTreeWidgetItem类。可以参照QT帮助文档中的QTreeWidgetItem类的说明,实现自定义的功能。

  

本文提供了一种树结构的实现,树的某个条目被点击之后的响应的实现。更多的是提供了一种PyQt相关资料的查询方法。通过对QT帮助文档的查询,可以指导PyQt的应用。

  

以上这篇对PyQt5中树结构的实现方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

对PyQt5中树结构的实现方法详解