PySide从实战开始学习系列(三)QTreeWidget的使用

上一篇已经实现了小项目的界面,这一篇主要实现Tree的内容。


在学习编程语言的时候,记得老师在讲递归时最经典的两个例子:一个是文件夹的遍历,一个是扫雷。

遍历这玩意在tree中再合适不过,所以,往QTreeWidget中添加数据,就用递归实现。


递归没什么好说的,直接上,只是QTreeWidget的子项叫QTreeWidgetItem,每个子项都是一个QTreeWidgetItem,所以,

需要自定义json文件的key值为全局变量,方便使用:

TREE_NODE = "items"   # json文件中子项key
TREE_NODE_NAME = "label"   # 每项显示在tree中的名字的key

递归代码如下:

# 获取tree数据的递归函数,在取值时使用
def get_data(widget, data_list):
    for data in data_list:
        # 创建一个新的tree子项
        new_widget = QtGui.QTreeWidgetItem(widget)
        # 判断是否有label项,如果有,子项显示label名,如果没有,显示No Label
        if data.has_key(u"label"):
            new_widget.setText(0, data[TREE_NODE_NAME])
        else:
            new_widget.setText
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值