我正在尝试通过Internet上其他地方的示例构建一个简单的Gtkada UI。 例如this one。
示例使用:
Gtk.Widget.Show_All (Get_Widget (Builder, "main_window"));
这似乎足够合理,但我找不到Get_Widget。上面引用的例子的作者说“最终在程序体中使用了Gtk.Builder.Get_Widget。”但Get_Widget不在Gtk.Builder中。我能找到的唯一Get_Widget不适用于Gtkada.Builder.Gtkada_Builder对象。最相关的似乎是在Gtk.UI_Manager中;是正确的Get_Widget?如果是的话,我还没有成功。
即使documentation说Gtk.Builder包含一个函数Get_Widget。我的问题是,我在哪里可以找到合适的Get_Widget,或者没有,我怎样才能获得Gtk_Widget_Record来给Gtk.Widget.Show_All。或者我完全忽略了这一点?
我的Gtkada来自gtkada-gpl-3.4.2-src.tgz,于2013年6月5日从libre.adacore.com下载。
非常感谢,
菲尔
答案 0 :(得分:1)
Get_Widget
的实现通常会返回特定Gtk.Widget.Gtk_Widget_Record
的{{1}}(或类型为access
的{{1}}值)。
example cited是question对Gtk.Widget.Gtk_Widget
来源分发示例中回归的回复,可以在目录Gtk.Widget
中找到。该示例在GtkaAda
的实例上调用examples/tooltips/tooltips.adb
。该实现绑定到GtkTreeViewColumn
中的Get_Widget
。
请注意,Gtk.Tree_View_Column.Gtk_Tree_View_Column
类型值的“Support仍然存在。”
答案 1 :(得分:1)
GtkAda 2013正在使用Gtk3代替Gtk2,导致以下变化: