Python:我怎么得到Gtk.滚动窗口滚动到中的选定内容特雷维Gtk

2024-04-18 02:13:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我怎么得到Gtk.滚动窗口滚动到中的选定内容Gtk树景. 在

我正在写一个触摸屏kiosk应用程序,它有向上和向下按钮来移动树视图中的选择。在

当选择离开屏幕时,它不会向下滚动滚动窗口。在

我的想法是当按下down按钮让选择向下移动一个(就像它已经做的那样),然后滚动窗口滚动到treeview上的选择,但是我不知道怎么做。在

我用的是Gtk3

谁能给我点主意吗?在


Tags: 视图应用程序内容gtk屏幕按钮主意down
2条回答

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

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

相关问题 更多 >