0

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

我现在想知道 glade 中的表格在哪里,或者我如何在 gtk2hs 中使用网格。

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

4

1 回答 1

4

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

为了显示数据,您需要一个 TreeView 和一个 TreeModel。

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

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

而且:

  • 几个 TreeView 可以共享一个 TreeModel,它们可以显示不同的数据列,或者以不同的格式显示相同的数据列。
  • TreeViews 可以自动过滤数据行(使用 TreeModelFilter)。
  • 他们还可以自动对数据行进行排序(使用 TreeModelSort)。
  • 他们支持拖放。

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

于 2014-06-06T13:26:10.217 回答