林间空地的桌子

时间:2014-05-26 08:25:40

标签: gtk glade gtk2hs

我正在使用gtk2hs创建一个GUI应用程序。大多数GUI都是在Glade中设计的。 我现在需要一个表来显示一些数据。问题是,我找不到林间空地的桌子。我搜索了Container类别,但只找到了一个“Grid”。但是我在gtk2hs的文档中找不到Grid,但我需要网格的castTo*函数才能使用它。

我现在想知道林间空中的桌子在哪里或者我如何在gtk2hs中使用网格。

我的林间空地版本:3.18.2
我的gtk2hs版本:0.12.5.7

1 个答案:

答案 0 :(得分:1)

在GTK中,表格是在窗口上排列小部件的一种方式。还有盒子,笔记本等。它们不能用于显示数据。

要显示数据,您需要TreeView和TreeModel。

将数据存储在TreeModel中,通常是ListStore或TreeStore,并使用TreeView将数据显示为具有列(来自ListStore)或作为树(TreeStore)的行。

如果修改TreeModel中的数据,TreeView会相应地更新自己。

此外:

  • 多个TreeView可以共享TreeModel,它们可以显示不同的数据列,也可以显示不同格式的相同数据列。
  • TreeViews可以自动过滤数据行(使用TreeModelFilter)。
  • 他们还可以自动对数据行进行排序(使用TreeModelSort)。
  • 他们支持阻力&下降。

最后,通过TreeView,您可以对用户交互(鼠标点击,单元格和/或节点编辑等)作出反应。