我想实现一个处理大量行的 GUI,我需要GTK
在 Linux 中使用。
我开始查看GTKTreeView
列表,但我不认为直接向该小部件添加数百万行将有助于拥有一个不会减慢应用程序的 GUI。
你知道是否GTK
已经有一个小部件可以解决这个问题,还是我必须自己处理必须显示这些行的窗口框架?最终我会直接使用GtkDrawingArea
(基本上是编写一个新的小部件)来编写数据。
GTK
关于我可以作为研究起点的任何主题或项目的任何建议?
我想实现一个处理大量行的 GUI,我需要GTK
在 Linux 中使用。
我开始查看GTKTreeView
列表,但我不认为直接向该小部件添加数百万行将有助于拥有一个不会减慢应用程序的 GUI。
你知道是否GTK
已经有一个小部件可以解决这个问题,还是我必须自己处理必须显示这些行的窗口框架?最终我会直接使用GtkDrawingArea
(基本上是编写一个新的小部件)来编写数据。
GTK
关于我可以作为研究起点的任何主题或项目的任何建议?
正如评论中所建议的,您可以使用 Cell Data Func,并在控制下获取显示的数据。但我有另一个想法:数百万行远远超过人类用户可以看到和理解的任何信息量。因此,也许一个更好、更实用和用户友好的解决方案是以用户可以更轻松地在其中导航的方式显示数据。
想象一下打开一个巨大的层次结构,向下滚动,然后忘记您打开的顶级项目是什么。
可能解决方案的示例:有一个组合框,允许选择一些过滤器或类别,这可以将数据量减少到合理的数量,用户可以更轻松地导航并在必要时对其进行心理模型。
注意:据我所知,GtkTreeView 不支持同时排序/过滤和拖放,所以如果你想同时使用这两个功能,我建议你使用现有的拖放功能(否则手动实现非常复杂)并实现您自己的排序/过滤。