gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 24 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章对PyQt5中树结构的实现方法详解由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

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

pyqt5中,树的实现有两种形式,其中较为简单的是使用tree widget控件.

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

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

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

其中column是每一条数据有几个数据项,item体现的是数据和数据之间是什么关系.

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

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

?
1
2
3
4
5
6
7
8
9
10
11
a = [ '1' , '11' , '12' , '13' , '2' , '21' , '22' , '23' ]
# 你的数据按照
# 【root,child1,child11,child12,child13,child2,child21,child22】
# 这种顺序排列
for i in range ( len (a)):
   if len (a[i]) = = 1 :
     root = qtwidgets.qtreewidgetitem( self .treewidget)
     root.settext( 0 ,a[i])
    elif len (a[i]) = = 2 :
     child = qtwidgets.qtreewidgetitem(root)
     child.settext( 0 ,a[i])

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

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

进入到信号和槽的编辑界面,左键点击tree widget,拖动到form的空白处,出现信号和槽的编辑界面.

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

左边是tree widget的信号的列表,右边是我们自定义的槽,可以点击edit进行增加和删除.

tree widget的信号说明可以参考qt的帮助文档。如下是itemclicked信号的说明:

[signal] void qtreewidget::itemclicked(qtreewidgetitem *item, int column) 。

this signal is emitted when the user clicks inside the widget. 。

the specified item is the item that was clicked. the column is the item's column that was clicked. if no item was clicked, no signal will be emitted. 。

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

?
1
2
self .treewidget.itemclicked[ 'qtreewidgetitem*' , 'int' ].connect(form.tree_item_click)
# 其中tree_item_click是自己定义的槽函数

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

?
1
2
def tree_item_click( self ,item,n):
     print (item.text(n))

item为qtreewidgetitem类。可以参照qt帮助文档中的qtreewidgetitem类的说明,实现自定义的功能.

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

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

原文链接:https://blog.csdn.net/weixin_40910342/article/details/81711695 。

最后此篇关于对PyQt5中树结构的实现方法详解的文章就讲到这里了,如果你想了解更多关于对PyQt5中树结构的实现方法详解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com