Listview 实时更新大型liststore的最佳实践

Listview 实时更新大型liststore的最佳实践,listview,debugging,gtk,code-editor,Listview,Debugging,Gtk,Code Editor,我目前正在编写一个代码编辑器,并希望添加调试器功能,它将显示代码变量及其值的列表。此列表应实时更新。我可以访问程序内存,因此可以使用指针检索值 我正在考虑使用一个GtkListStore,但是这不需要太多内存吗?我看不到将变量指针传递到列表的方法,因此我必须将值复制到列表中(这也相当慢) 在一个完美的世界中,我会这样做(伪代码): 我不必手动更新列表,因为它使用从指针检索到的值。这在GTK中是可能的,还是有更好的方法来实现我所需要的?如果您有自己的数据结构,并且希望使用GtkTreeView作为

我目前正在编写一个代码编辑器,并希望添加调试器功能,它将显示代码变量及其值的列表。此列表应实时更新。我可以访问程序内存,因此可以使用指针检索值

我正在考虑使用一个
GtkListStore
,但是这不需要太多内存吗?我看不到将变量指针传递到列表的方法,因此我必须将值复制到列表中(这也相当慢)

在一个完美的世界中,我会这样做(伪代码):


我不必手动更新列表,因为它使用从指针检索到的值。这在GTK中是可能的,还是有更好的方法来实现我所需要的?

如果您有自己的数据结构,并且希望使用GtkTreeView作为数据视图,最好实现自定义GtkTreeModel。这并不难,过去我自己也为一个项目做过。这里有一个非常有价值的教程:。特别是,请阅读第11章,其中解释了如何编写自定义GtkTreeModel。

如果您拥有数据结构,并且希望使用GtkTreeView作为数据视图,最好实现自定义GtkTreeModel。这并不难,过去我自己也为一个项目做过。这里有一个非常有价值的教程:。特别是,请阅读第11章,其中解释了如何编写自定义GtkTreeModel

y = 0
for var in variable
    showText(x, y++, var->name, *var->pointer)
    if y > listWindowSize break
end