2014-07-04 6 views
2

Gtk.scrolledwindow를 Gtk.Treeview의 선택 항목으로 스크롤하려면 어떻게해야합니까?Python : Gtk.scrolledwindow를 Gtk.Treeview의 선택 항목으로 스크롤하려면 어떻게해야합니까?

나는 위쪽 및 아래쪽 버튼이있는 터치 스크린 키오스크 앱을 작성하여 트리보기에서 선택 항목을 이동합니다.

선택 항목이 화면에서 사라지면 스크롤 창을 아래로 스크롤하지 않습니다.

이 문제를 해결할 수있는 아이디어는 내리기 버튼을 눌러 선택 항목을 아래로 이동 한 다음 (이미 수행 한 것처럼) 스크롤 창을 사용하여 트리보기에서 선택 항목으로 스크롤하지만 해결할 수없는 경우입니다. 방법.

저는 Gtk3을 사용하고 있습니다.

누구든지 저에게 아이디어를 줄 수 있습니까?

답변

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