【问题标题】:Python: How do I get Gtk.scrolledwindow to scroll to a selection in Gtk.TreeviewPython:如何让 Gtk.scrolledwindow 滚动到 Gtk.Treeview 中的选择
【发布时间】:2014-07-04 10:35:52
【问题描述】:

如何让 Gtk.scrolledwindow 滚动到 Gtk.Treeview 中的选择。

我正在编写一个带有向上和向下按钮的触摸屏信息亭应用程序,用于在树形视图中移动选择。

如果选择关闭屏幕时,它不会向下滚动滚动窗口。

我解决这个问题的想法是当按下向下按钮以使选择向下移动一个(因为它已经这样做了),然后让滚动窗口滚动到树视图上的选择,但我无法弄清楚如何.

我正在使用 Gtk3

谁能给我一些想法?

【问题讨论】:

    标签: python treeview gtk3 scrolledwindow


    【解决方案1】:

    见: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()
    

    【讨论】:

      【解决方案2】:

      在选定路径上移动选择调用gtk_tree_view_scroll_to_cell 之后。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-02-25
        • 1970-01-01
        • 1970-01-01
        • 2019-07-29
        • 2016-08-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多