如何读出gtk3对象的“glade ID”

时间:2016-08-07 08:36:49

标签: gtk3 glade

在林间空地中,可以为对象设置唯一ID。在代码中,可以通过gtk_builder_get_object()搜索它的“glade ID”来获取指向该对象的指针。

但是对于我目前的用例,我只想从GObject读出这个ID。这样做的API是什么?

3 个答案:

答案 0 :(得分:2)

你不能。构建器ID在内部存储在构建器中,而不是存储在GObject中。

原因是每个构建器的ID必须是唯一的,如果您能够通过某些GObject API获取并设置它们,则无法实施。

答案 1 :(得分:0)

您可以使用gtk_widget_get_name()来识别对象。

答案 2 :(得分:0)

可以使用Gtk.Buildable.get_name(object)。此方法将返回Glade对象ID。

此代码段将在Glade XML中打印所有对象ID:

builder = Gtk.Builder()
builder.add_from_file("my-window.glade"))
for obj in builder.get_objects():
    print(Gtk.Buildable.get_name(obj))