如何重新加载树视图内容?
我有一个使用PyGTK的应用程序,里面有一个gtk.TreeView和一个gtk.TreeStore,我已经填充了一些行。这一切运行得很好,但现在我想重新加载树视图的内容,我对这个过程不是很了解。
于是我清空了树存储,然后重新创建所有的行。这是可行的,但问题在于用户可能已经展开了某些行。现在这些展开的状态会被重置,因为树存储的内容被完全重新创建了。
有没有更好的方法来重新加载树存储,让它只更新内容呢?大部分行其实是一样的,区别往往只是某一列中的几个数字。完全重新创建看起来有点复杂。
1 个回答
0
你需要获取一个 gtk.TreeIter,这个东西代表你想要修改的那一行。然后,你可以用 gtk.TreeStore.set
和 gtk.TreeStore.set_value
来改变这一行的内容,这些方法是属于 gtk.TreeStore 的。这个教程还有更多信息可以参考:树模型接口和数据存储