Извините, что задаю такой простой вопрос, я перехожу из PyGTK в PyGI, и в моей программе есть несколько меток, которые сделаны чувствительными к щелчку мыши, добавляя их в EventBox
;структура определяется в файлах glade, а обратные вызовы задаются в коде Python.
В PyGTK мы полагаемся на возможность найти EventBox
, прочитав свойство parent
Label
.
Теперь у меня есть этот простой код Python:
if True:
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
else:
import gtk as Gtk
class MyWindow(Gtk.Window):
def __init__(self):
super(MyWindow, self).__init__()
self.eventbox = Gtk.EventBox()
self.add(self.eventbox)
self.label = Gtk.Label("click me")
self.eventbox.add(self.label)
print self.label.parent
win = MyWindow()
win.connect("destroy", Gtk.main_quit)
win.show_all()
Gtk.main()
, который ничего не делает, работает для PyGtk, но жалуется PyGI, говоря, что 'Label' object has no attribute 'parent'
.
Это не единственное место, где мой код использует поле parent
, поэтому мне нужно общее решение.
Рабочая ссылка на pygi-convert.sh
предоставит материал для изучения.
Если вам интересно, целевым программным обеспечением является менеджер ботанических баз данных .