[python] tkinter, treeview, focus a scroll
zu1234
zu1234 na seznam.cz
Úterý Červen 3 11:58:14 CEST 2014
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
------------- další část ---------------
#!/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")
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)
for x in range(100, 300):
root_node = self.tree.insert('', 'end', text = str(x), open=True)
self.tree.selection_set('I023')
self.tree.focus('I023')
self.tree.focus_set()
self.tree.grid(row=0, column=0)
ysb.grid(row=0, column=1, sticky='ns')
xsb.grid(row=1, column=0, sticky='ew')
self.grid()
# konec def __init__(self, master, DIR):
root = tkinter.Tk()
ap = app(root)
root.mainloop()
Další informace o konferenci Python