如何让Gtk.scrolledwindow滚动到Gtk.Treeview中的选择。
我正在编写一个触摸屏自助服务终端应用程序,它具有向上和向下按钮,可以在树视图中移动选区。
当选择离开屏幕时,它不会向下滚动滚动窗口。
我想解决这个问题的方法是按下向下按钮以使选择向下移动(就像它已经做的那样),然后滚动窗口滚动到树视图上的选择,但是我无法弄清楚如何
我正在使用Gtk3
任何人都可以给我任何想法吗?
答案 0 :(得分:1)
在您移动选定路径上的选择呼叫gtk_tree_view_scroll_to_cell之后。
答案 1 :(得分:0)
请参阅:http://lazka.github.io/pgi-docs/Gtk-3.0/classes/TreeView.html#Gtk.TreeView.scroll_to_cell
不要使用“add_with_viewport”将树视图添加到滚动窗口。见http://mailman.daa.com.au/cgi-bin/pipermail/pygtk/2009-January/016440.html
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
class MyWindow(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self, title="Auto Scroll")
self.set_size_request(400, 200)
self.liststore = Gtk.ListStore(str, str)
for n in range(40):
self.liststore.append(["Info", "http://lazka.github.io/pgi-docs/Gtk-3.0/classes/TreeView.html"])
treeview = Gtk.TreeView(model=self.liststore)
for n, name in enumerate(["Name", "Link"]):
renderer_text = Gtk.CellRendererText()
column_text = Gtk.TreeViewColumn("Text", renderer_text, text=n)
treeview.append_column(column_text)
scrolled_window = Gtk.ScrolledWindow()
self.add(scrolled_window)
scrolled_window.add(treeview)
def main(self):
Gtk.main
win = MyWindow()
win.connect("delete-event", Gtk.main_quit)
win.show_all()
Gtk.main()