【问题标题】:Best practice for a large liststore updated in realtime实时更新的大型列表存储的最佳实践
【发布时间】:2020-01-14 05:24:32
【问题描述】:

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

我正在考虑为此使用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】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-28
      • 1970-01-01
      • 2015-08-21
      • 2014-02-20
      相关资源
      最近更新 更多