手动滚动到Gtk.ScrolledWindow中的子级

时间:2019-01-02 13:25:38

标签: gtk pygtk gtkscrolledwindow

我正在开发GTK应用程序(在带有PyGTK的Python中),我需要手动滚动Gtk.ScrolledWindow到它包含的子项以在屏幕上显示它。

ScrolledWindow包含一个ListBox,其中包含很多ListBoxRow。

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

Gpk.ListBox的 CurrencySwitcher继承程序:

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

我有一个搜索系统,可以在此列表框中找到特定的行,但是当我单击搜索某行时,它在屏幕上不可见(我必须滚动才能看到它) 因此,我必须能够滚动到一个孩子才能在屏幕上看到它,而不必手动滚动ScrolledWindow

我该怎么做?我已经搜索了很多,但是找不到很好的答案。 谢谢

1 个答案:

答案 0 :(得分:1)

<GridLayout columns="*" rows="*"> <WebView row="0" col="0" id="wv" height="100%"/> </GridLayout> 也继承自Gtk.ListBox,因此请查看Gtk::Container的{​​{1}}和set_focus_vadjustment()成员。

一旦您在ListBox上调用了这两个功能之一或全部,就可以拥有ListBoxRow子项set_focus_hadjustment()(从Gtk.Widget继承),它将滚动到视图中。