我不是要求实现代码,而是从抽象的角度来看,给定GTK+的技能集,实现一个网格使每个方格都可以点击等,最好的方法是什么?
我赞同mlowen的建议,使用GtkTable作为网格的主要组织方式,可以很容易地获得类似网格的外观。如果您不需要按钮的内置绘制,则还可以考虑使用普通的GtkEventBox填充每个单元格。
事件框是一个不可见的小部件,基本上添加了一个窗口并使覆盖区域可点击。它对于使一些GTK+中原本“静默”的小部件更具交互性非常有用,例如,在GtkLabel后面常用于使其可点击;如果标签提供了足够的绘图功能以满足您的需求,那么这也是一种可能的方法。