从 Glade 文件中获取所有对象
Get All Objects From Glade File
我知道可以使用以下方法从 glade 文件导入特定对象:
builder.add_objects_from_file("example.glade", ("button1", "button2"))
但是如您所见,我必须传递要导入的对象的列表。
有没有办法导入 .glade 文件中的所有内容?无需在此处指定名称的所有对象?
当您使用 gtk_builder_add_objects_from_file
时,您正在将特定对象合并到现有的 GtkBuilder 实例中,该实例随后将实例化这些相同的对象。使用此 function/method 仅当您需要来自 UI 定义文件的一组特定对象时才有用。
GtkBuilder
的正常使用是完全加载它,然后检索要处理的对象 gtk_builder_get_object
。但是,如果您的目标是检索所有对象,则使用 gtk_builder_get_objects
,这将 return 一个 GSList
。使用此 function/method 假设您已经从文件或其他可能的来源加载了 UI 定义文件。
作为documented:
GSList *gtk_builder_get_objects (GtkBuilder *builder);
Gets all objects that have been constructed by builder . Note that
this function does not increment the reference counts of the returned
objects.
Returns
a newly-allocated GSList containing all the objects constructed by the
GtkBuilder instance. It should be freed by g_slist_free().
我知道可以使用以下方法从 glade 文件导入特定对象:
builder.add_objects_from_file("example.glade", ("button1", "button2"))
但是如您所见,我必须传递要导入的对象的列表。
有没有办法导入 .glade 文件中的所有内容?无需在此处指定名称的所有对象?
当您使用 gtk_builder_add_objects_from_file
时,您正在将特定对象合并到现有的 GtkBuilder 实例中,该实例随后将实例化这些相同的对象。使用此 function/method 仅当您需要来自 UI 定义文件的一组特定对象时才有用。
GtkBuilder
的正常使用是完全加载它,然后检索要处理的对象 gtk_builder_get_object
。但是,如果您的目标是检索所有对象,则使用 gtk_builder_get_objects
,这将 return 一个 GSList
。使用此 function/method 假设您已经从文件或其他可能的来源加载了 UI 定义文件。
作为documented:
GSList *gtk_builder_get_objects (GtkBuilder *builder);
Gets all objects that have been constructed by builder . Note that this function does not increment the reference counts of the returned objects.
Returns
a newly-allocated GSList containing all the objects constructed by the GtkBuilder instance. It should be freed by g_slist_free().