c语言 - GtkBuilder 和 "names"



我一直在尝试获取GtkBuilder对象中所有GtkWidgets的"名称"。

我已经设法通过gtk_builder_get_objects()从构建器对象中获取所有对象,并将它们存储在GSList中。

但是,当我在 gobjects(我将其转换为 GtkWidgets(上使用 gtk_widget_get_name() 时,我得到的是通用名称,例如"GtkWindow"和"GtkButton",而不是显示在 glade 中的"window1"或"button1"。

任何帮助将胜感激,并使该程序员非常高兴。

我在做完全相同的事情。我id=能够.glade使用 gtk_buildable_get_name()此处指定。

注意:在 2.20 之前,GtkBuilder 将构造小部件的 "name" 属性设置为 "id" 属性。在 GTK+ 2.20 或更高版本中,您必须使用 gtk_buildable_get_name() 而不是 gtk_widget_get_name() 来获取"id",或在 UI 定义中设置 "name" 属性。

为构建器设置的名称与GtkWidget的名称不同。 GtkBuilder维护一个内部哈希表,该表的名称以文件或字符串(从中添加了构建器(和关联对象的GtkBuilder UI definitions设置。它用于在调用gtk_builder_get_object ()时检索对象。利用GtkWidget"name"属性。在GtkBuilder UI definitions中设置"name"属性以设置可以使用 gtk_widget_get_name() 检索的GtkWidget的名称。
希望这有帮助!

相关内容

  • 没有找到相关文章

最新更新