亲自这样做我会使用一个表 - http://library.gnome.org/devel/gtk/stable/GtkTable.html - 并用按钮填充它 - http://library.gnome.org/devel/gtk/ stable/GtkButton.html.从那里,如果你不希望按钮看起来像按钮,我会设置浮雕 - http://library.gnome.org/devel/gtk/stable/GtkButton.html#gtk-button-set-relief - 无.
这样做将为您提供一个网格,其中每个元素的大小相同,并且当您单击网格中的项目时会触发事件.
上面假设网格将有多行,如果你只计划有一行,你最好使用GtkHButtonBox - http://library.gnome.org/devel/gtk/stable/GtkHButtonBox.html - 或者GtkVButtonBox - http://library.gnome.org/devel/gtk/stable/GtkVButtonBox.html.
小智 5
如果网格很大,您还可以考虑使用GtkTreeView.
它可以将树显示为网格,并支持矩形选择.单元格可以显示文本,数字和简单的小部件,如按钮,切换,选项菜单,进度条等.它表现良好,即使在大型数据集(数千行)上也具有良好的功能,如列排序等.
然而,API相当复杂:-(这是一个完整的MVC事情,需要一点点才能让它运行良好.
gtk-demo中有一些示例代码:查看"Tree View"下的"Editable Cells"演示.