我想实现一个处理大量行的GUI,并且需要在Linux中使用GTK

我开始看带有列表的GTKTreeView,但是我不认为直接向该小部件添加数百万行将有助于创建不会降低应用程序速度的GUI。

您知道是否已经存在针对此问题的GTK小部件,还是我必须自己处理必须显示这些行的窗口框架?最终,我将直接使用GtkDrawingArea写入数据(实质上是编写新的小部件)。

我可以将有关GTK主题或项目的任何建议作为我研究的起点吗?

最佳答案

如注释中所建议,您可以使用Cell Data Func,并在控制下获取显示的数据。但是我有另一个想法:数百万行的内容远远超出了人类用户可以看到和理解的任何信息量。因此,也许更好,更易用且用户友好的解决方案是以用户可以更轻松地在其中导航的方式来显示数据。

想象一下,打开一个巨大的层次结构,向下滚动,然后忘记打开的顶级项目是什么。

可能的解决方案的示例:有一个组合框,它可以选择一些过滤器或类别,这可以将数据量减少到合理的数量,用户可以更轻松地导航并在必要时对其进行心理建模。

注意:据我所知,GtkTreeView不同时支持排序/过滤和拖放功能,因此,如果要使用这两个功能,建议您使用现有的拖放功能(否则手动实现非常复杂)并实现自己的排序/过滤。

10-04 19:10