wxPython hypertreelist设置项目进行检查

时间:2014-07-17 18:55:47

标签: python python-2.7 wxpython

我正在尝试使用hypertreelist构建一个简单的界面。基本上,我想要做的是将项目设置为已检查状态。功能.IsChecked()用于检索项目的复选框状态,但没有SetCheck()SetValue()。关于如何做到这一点的任何想法?

我想我需要访问TreeListItem中的checkbox对象,但我不知道如何做到这一点。 documentation上的{{3}}并没有多大帮助。

这是我的代码的一部分:

self.view.tree_list.AddColumn('Available columns')
root = self.view.tree_list.AddRoot('All columns', ct_type=1)
branches = {}
for item in self.possibleColumns:
    branches[item] = self.columnsView.tree_list.AppendItem(root, item, ct_type=1)
    if item in self.wantedColumns:
         # set to checked

其中wantedColumnspossibleColumns是字符串数组。 (该框架将帮助确定在另一个标签中显示哪些列)

谢谢,

2 个答案:

答案 0 :(得分:1)

HyperTreeList继承自GenericTreeItem:

看起来您可以使用其Check()方法来切换是否检查了树项目。

答案 1 :(得分:0)

也正为此苦苦挣扎,这是我的解决方案:

import wx.lib.agw.hypertreelist as HTL 

self.tree_list =self.createTree()
self.tree_list.AddColumn("File")
self.tree_list.AddColumn("Size")
#self.tree_list.AssignImageList(some image_list)
self.root =self.tree_list.AddRoot("abc", ct_type=1)
for my_text in [ 'def', 'ghi', 'jkl' ]:
    node =self.tree_list.AppendItem( self.root, testware_path, ct_type =1)
    self.tree_list.SetItemText( node, text=my_text, column=1)
    self.tree_list.SetItemText( node, text=my_text, column=2)
    if my_text.startswith('d'):
        node.Check()