首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GtkBuilder和“名字”

GtkBuilder和“名字”
EN

Stack Overflow用户
提问于 2011-11-25 00:29:02
回答 2查看 2.6K关注 0票数 6

我一直试图在一个GtkWidgets对象中获取所有GtkBuilder的“名称”。

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

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

任何帮助都将是极其感谢的,并且会使这个程序员非常高兴。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-25 03:19:53

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

希望这能有所帮助!

票数 4
EN

Stack Overflow用户

发布于 2012-02-29 18:17:26

我也在做同样的事。我能够使用id=作为指定的这里.glade文件中获取gtk_buildable_get_name()字符串。

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

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8263756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档