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 <[email protected]
<mailto:[email protected]>>:
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
[email protected] <mailto:[email protected]>
http://www.py.cz/mailman/listinfo/python
Visit: http://www.py.cz
_______________________________________________
Python mailing list
[email protected]
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
[email protected]
http://www.py.cz/mailman/listinfo/python
Visit: http://www.py.cz