Python GTK +小部件名称

jld*_*ont 10 python gtk

如何获取小部件的"名称"?

当我使用Glade定义GUI时,我可以"命名"窗口的小部件,但是当我有小部件对象实例时如何恢复该属性?

我试过get_property(),get_name()而且$widget.name无济于事.

更新:我使用的是GtkBuilder文件格式(即XML格式).

解决方案:我使用过的一个修复程序:set_property("name", name)在获取它之后使用窗口小部件上的方法GtkBuilder.

det*_*tly 15

我使用class-method表单,它对我有用:

gtk.Buildable.get_name(widget)
Run Code Online (Sandbox Code Playgroud)

参考

PyGtk:gtk.Buildable.get_name

Gtk3:Gtk.Buildable.get_name

gtk2 GtkBuilder:

在GTK + 2.20之前,gtk.Builder将构造小部件的"name"属性设置为"id"属性.在GTK + 2.20或更高版本中,您必须使用gtk.Buildable.get_name()而不是gtk.Widget.get_name()来获取"id",或在UI定义中设置"name"属性.


进一步

有一些报告的错误,GtkBuilder将窗口小部件名称设置为构建器ID,或者根本不设置它.查看UbuntuGNOME错误.我不知道为什么错误说它设置ID而不是名称,因为我只看到未设置的名称.