pygtk - 如何更新gtk.liststore?

4 投票
2 回答
4514 浏览
提问于 2025-04-16 00:23

http://img824.imageshack.us/i/capturadetelag.png/

如何更新一个gtk.liststore?

我的意思是每秒在某一列获取一个随机数,就像下载管理器的列表那样。我想要一个简单的例子,了解这个Liststore是如何工作的,以便更新列表,因为我找不到有效的方法来做类似:

store.append(list1,list2,list3)

store.update(list3,['foobar']).

2 个回答

4

gtk.ListStore

你需要使用一个叫做 gtk.TreeIter 的东西,另外 这里也有一些不错的信息。

如果我对这些更熟悉的话,我可以给你一个例子。我只记得使用 gtk.liststore 有点麻烦,但其实没有什么更好的解决办法。

10

你可以遍历一个列表存储中的每一行(用for row in liststore:...),也可以遍历每一行中的每一列(也就是每个值,用for col_value in row:...)。

如果你想简单直接地更新数据,可以使用以下方法:

row_n = 0
col_n = 2
liststore[row_n][col_n] = 'new value'

另外,你也可以使用gtk.TreeIter(也就是row_iter)来更新数据:

liststore.set_value(row_iter, col_n, 'new value')

撰写回答