Выделите вручную ребенка в Gtk.ScrolledWindow

Я разрабатываю приложение GTK (в Python с PyGTK), и мне нужно вручную прокрутить окно Gtk.ScrolledWindow до дочернего элемента, который в нем содержится, чтобы показать его на экране.

ScrolledWindow содержит ListBox, который содержит много ListBoxRow.

self.currencySwitcher = CurrencySwitcher(self) self.currencySwitcherBox = Gtk.ScrolledWindow(vexpand = True) self.currencySwitcherBox.add(self.currencySwitcher)

Валютный переключатель наследует Gtk.ListBox:

class CurrencySwitcher (Gtk.ListBox): # ...

У меня есть система поиска, чтобы найти определенную строку в этом ListBox, но когда я щелкаю, выполняя поиск по строке, она не видна на экране (я должен прокрутить, чтобы увидеть ее), поэтому я должен иметь возможность прокрутить до ребенка, чтобы увидеть его на экране без необходимости прокручивать ScrolledWindow вручную

Как я могу это сделать? Я уже много искал, но не могу найти хороший ответ. Спасибо

0 ответов

Gtk.ListBox также наследует от Gtk::Containerтак что взгляните на set_focus_vadjustment() а также set_focus_hadjustment() Члены Gtk.Container,

После того, как вы вызвали одну или обе эти функции в своем ListBox, вы можете иметь своего потомка ListBoxRow grab_focus() (наследуется от Gtk.Widget), и он будет прокручиваться в поле зрения.

Другие вопросы по тегам