我有大量数据,已存储在STL容器中。对Gtk::ListStore
的所有数据进行完整复制感觉非常糟糕。而且,我的数据结构在某些行中包含很大的间隙,如果视图的行变得可见,则可以使用默认值填充。将大量默认值存储到模型中也是一个不好的开销。
为此,我认为设置一个自己的模型很容易,然后提供一些入口点/回调,我可以从容器中提供自己的数据。
但我找不到任何文件。
这里是标准的TreeView,但不知道如何使用自己的模型进行改进: https://developer.gnome.org/gtkmm-tutorial/stable/sec-treeview-examples.html.en
在https://developer.gnome.org/gtkmm-tutorial/stable/sec-treeview-model.html.en我找到了漂亮的句子
Although you can theoretically implement your own Model,
you will normally use either the ListStore or TreeStore model classes.
之后我来看看源代码......好吧,因为Gtkmm只是C代码的包装器,它不仅仅是从类派生而且覆盖了一些方法。如果我对我看到的代码的解释是正确的,那么更多的是拿起底层的c代码。
无论如何,有没有机会获得一些代码行,其中ListStore被自己的模型替换?