Právě že chci aby se po spuštění programu zobrazila naposledy použitá položka.
Proto mi to tlačítko nevyhovuje. Tak jsem vymyslel zavolání té funkce do_select() pomocí metody after() (viz příloha) Funguje to, jen mi to připadá dost podivné/amatérské. Nicméně děkuji za postrčení!!!! ZU Dne 3.6.2014 14:17, Petr Blahos napsal(a):
Ahoj, vypadá to, že na to je funkce see, jenže v tom __init__u to nefunguje. Patrně je potřeba, aby se to všechno vytvořilo a zobrazilo, a pak teprve to může fungovat. Ono to vlastně dá rozum, jak může see zobrazit něco v rámci něčeho, co vůbec není vidět? Když si do __init__u přidáš: * self.btn = Button(self)* * self.btn['text'] = 'select'* * self.btn['command'] = self.do_select* * self.btn.grid(row=2, column=0, sticky='ns')* a pak přidáš funkci * def do_select(self):* * self.tree.selection_set('I024')* * self.tree.see('I024')* tak po stisku toho tlačítka už to tam nascrolluje. -- Petr ____________________ http://pysk.blog.root.cz/ 2014-06-03 11:58 GMT+02:00 zu1234 <zu1...@seznam.cz <mailto:zu1...@seznam.cz>>: Zdravím vespolek. Tvořím GUI aplikaci v tkinteru a je to pro mne docela zápas. Narazil jsem na jednu nejasnost a nevím ani jak to na internetu hledat. Mám treeview, v něm označím jeden prvek ('134'), on ale je za rohem - není vidět. Potřeboval bych aby se treeview samo odrolovalo tak, aby označený prvek byl viditelný. Jak na to? Příklad přikládám. Alespoň nějakou nápovědu, prosím :-) ZU _______________________________________________ Python mailing list python@py.cz <mailto:python@py.cz> http://www.py.cz/mailman/listinfo/python Visit: http://www.py.cz _______________________________________________ Python mailing list python@py.cz http://www.py.cz/mailman/listinfo/python Visit: http://www.py.cz
#!/usr/bin/python -u # -*- coding: utf-8 -*- import Tkinter as tkinter import ttk class app(tkinter.Frame): def __init__(self, master): tkinter.Frame.__init__(self, master) self.tree = ttk.Treeview(self, selectmode = "browse") self.tree.grid(row=0, column=0) ysb = ttk.Scrollbar(self, orient='vertical', command=self.tree.yview) xsb = ttk.Scrollbar(self, orient='horizontal', command=self.tree.xview) self.tree.configure(yscrollcommand=ysb.set, xscrollcommand=xsb.set) ysb.grid(row=0, column=1, sticky='ns') xsb.grid(row=1, column=0, sticky='ew') self.grid() for x in range(100, 300): root_node = self.tree.insert('', 'end', text = str(x), open=True) self.tree.after(10, self.do_select, 'I023') def do_select(self, item): self.tree.selection_set(item) self.tree.see(item) self.tree.focus(item) self.tree.focus_set() root = tkinter.Tk() ap = app(root) root.mainloop()
_______________________________________________ Python mailing list python@py.cz http://www.py.cz/mailman/listinfo/python Visit: http://www.py.cz