实时更新大型列表存储的最佳做法

问题描述 投票:1回答:1

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

我当时正在考虑为此使用GtkListStore,但是这不需要太多的内存吗?我看不到将变量指针传递到列表的方法,因此我将不得不将值复制到列表中(同样很慢)。

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

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

我不必手动更新列表,因为它使用的是从指针中检索的值。 GTK是否可以通过某种方式实现?还是有更好的方法来实现我的需求?

我目前正在编写代码编辑器,并希望添加调试器功能,该功能应显示代码变量及其值的列表。此列表应实时更新。我可以访问...

listview debugging gtk code-editor
1个回答
0
投票

如果您具有数据结构,并希望使用GtkTreeView作为数据视图,则最好实现自定义GtkTreeModel。这并不难,过去我自己为一个项目完成了这项工作。这里有一个非常有价值的教程:http://scentric.net/tutorial/ch-treeview.html。特别是,请阅读第11章,其中介绍了如何编写自定义GtkTreeModel。

© www.soinside.com 2019 - 2024. All rights reserved.