Python GTK + имя виджета - PullRequest
       6

Python GTK + имя виджета

10 голосов
/ 16 августа 2010

Как я могу получить "имя" виджета?

Когда я определяю графический интерфейс с помощью Glade, я могу «назвать» виджеты окна, но как мне восстановить это свойство, когда у меня есть экземпляр объекта виджета?

Я пробовал get_property(), get_name() и $widget.name безрезультатно.

Обновление: Я использую формат файла GtkBuilder (т.е. формат XML).

Разрешение: исправление, которое я использовал: используйте метод set_property("name", name) в виджете сразу после его получения из GtkBuilder.

Ответы [ 3 ]

15 голосов
/ 16 августа 2010

Я использую форму метода класса, которая работает для меня:

gtk.Buildable.get_name(widget)

Ссылки

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», или установить свойство «name» в своем определении пользовательского интерфейса.


Далее

Было несколько сообщений об ошибках, когда GtkBuilder устанавливал имя виджета в качестве идентификатора строителя или не устанавливал его вообще.Смотрите Ubuntu и GNOME ошибки.Я понятия не имею, почему ошибки говорят о том, что он устанавливает идентификатор вместо имени, поскольку я только когда-либо видел, что имя не установлено.

2 голосов
/ 21 октября 2012
self.builder.get_name(widget)

Где виджет - это объект виджета.Работает с использованием быстро упакованной среды разработки Ubuntu

0 голосов
/ 16 августа 2010

Учитывая виджет w, что возвращает w.get_name()?Если None, это означает, что виджет не имеет свойства name.Может быть, вы хотите gtk.glade.get_widget_name(w) вместо этого?(Я не уверен, что свойство name виджета и его имя в XML Glade, из которого он был создан, - это одно и то же ...).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...