Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python GTK+;小部件名称_Python_Gtk - Fatal编程技术网

Python GTK+;小部件名称

Python GTK+;小部件名称,python,gtk,Python,Gtk,如何获取小部件的“名称” 当我使用Glade定义GUI时,我可以“命名”窗口的小部件,但是当我有一个小部件对象实例时,如何恢复该属性 我尝试了get_property(),get_name()和$widget.name,但都没有成功 更新:我正在使用GtkBuilder文件格式(即XML格式) 解析:我使用的一个修复方法:在从GtkBuilder获取小部件后,在小部件上使用set_属性(“name”,name)方法,给定小部件w,w.get_name()返回什么?如果None,则表示小部件没有名

如何获取小部件的“名称”

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

我尝试了
get_property()
get_name()
$widget.name
,但都没有成功

更新:我正在使用GtkBuilder文件格式(即XML格式)


解析:我使用的一个修复方法:在从
GtkBuilder
获取小部件后,在小部件上使用
set_属性(“name”,name)
方法,给定小部件
w
w.get_name()
返回什么?如果
None
,则表示小部件没有
名称
属性。也许你想要
gtk.glade.get\u widget\u name(w)
?(我不确定小部件的
name
属性和创建它的Glade XML中的名称是否相同…。

我使用类方法表单,它对我有效:

gtk.Buildable.get_name(widget)

工具书类 PyGtk:

Gtk3:

引自:

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


进一步的 GtkBuilder将widget name设置为builder ID,或者根本没有设置,这是一些报告的bug。请参阅和bug。我不知道为什么bug说它设置了ID而不是名称,因为我只见过没有设置名称

self.builder.get_name(widget)

其中widget是widget对象。使用Ubuntu打包的快速开发环境工作时

返回“无”,以及
gtk.glade.get_widget_name(w)
@jdupont,但您确定
w
是从glade XML文件中的命名条目构建的?那我就没主意了…:-(你用的是什么格式?Glade还是GTKBuilder?这正是我这边一直在发生的事情!谢谢提醒!恐怕这个答案不完整且有误导性,什么是
self.builder
变量?
gtk.builder
(nor)没有
get\u name
方法。