如何读出 gtk3 对象的 "glade ID"
How can I read out the "glade ID" of a gtk3 object
在 glade 中,可以为对象设置唯一 ID。在代码中,可以通过 gtk_builder_get_object()
.
搜索 "glade ID" 来获取指向该对象的指针
然而,对于我当前的用例,我只想从 中读出此 ID。 API 这样做有什么意义?
你不能。构建器 ID 在内部存储在构建器中,而不是在 GObject 中。
这样做的原因是每个构建器的 ID 必须是唯一的,如果您能够通过某些 GObject API.
获取和设置它们,则无法强制执行
您可以使用 gtk_widget_get_name() 来识别对象。
可以使用 Gtk.Buildable.get_name(object)
。此方法将 return Glade 对象 ID。
此代码段将打印您 Glade 中的所有对象 ID XML:
builder = Gtk.Builder()
builder.add_from_file("my-window.glade"))
for obj in builder.get_objects():
print(Gtk.Buildable.get_name(obj))
在 glade 中,可以为对象设置唯一 ID。在代码中,可以通过 gtk_builder_get_object()
.
然而,对于我当前的用例,我只想从
你不能。构建器 ID 在内部存储在构建器中,而不是在 GObject 中。
这样做的原因是每个构建器的 ID 必须是唯一的,如果您能够通过某些 GObject API.
获取和设置它们,则无法强制执行您可以使用 gtk_widget_get_name() 来识别对象。
可以使用 Gtk.Buildable.get_name(object)
。此方法将 return Glade 对象 ID。
此代码段将打印您 Glade 中的所有对象 ID XML:
builder = Gtk.Builder()
builder.add_from_file("my-window.glade"))
for obj in builder.get_objects():
print(Gtk.Buildable.get_name(obj))