我正在尝试使用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
其中wantedColumns
和possibleColumns
是字符串数组。 (该框架将帮助确定在另一个标签中显示哪些列)
谢谢,
答案 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()