[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