我正在从XML文件生成QTreeWidget
。XML如下所示,我想创建一个名称树:
<root>
<f name='foo'>bar
<f name='foo2'>baz</f>
</f>
</root>
目前,我使用以下代码来实现这一点(稍微简化的代码):
^{pr2}$关于这个我有两个问题:
setCurrentItem()
和setCurrentIndex()
做一些事情,但没能让它工作。我在google上搜索了一点,但是我找到的所有解决方案都适用于模型。在
递归是很好的,可以保持这种方式,在回答您的主要问题时,只需:
您只需确保在调用setCurrentItem时该项已添加到树中,否则它将无法真正工作。有些方法要求项已经关联到树(如setExpanded和setSelected)
编辑
要以递归方式构建而不影响树,可以执行以下操作:
^{pr2}$编辑2:一次全部加载
为了更深入一点,我个人的做法是尽可能减少不必要的呼叫和列表,只为孩子们建立一次循环:
编辑3:动态加载
而且,由于它被启动…动态加载子级的方法是存储每个级别,并在展开后加载它们:
相关问题 更多 >
编程相关推荐