/usr/lib64/python2.7/Demo/tkinter/ttk
NameSizeModeActions
img/-0755rm
combo_themes.py16170644editdlrm
combo_themes.pyc19270644editdlrm
combo_themes.pyo19270644editdlrm
dirbrowser.py27170644editdlrm
dirbrowser.pyc39760644editdlrm
dirbrowser.pyo39760644editdlrm
listbox_scrollcmd.py11570644editdlrm
listbox_scrollcmd.pyc16000644editdlrm
listbox_scrollcmd.pyo16000644editdlrm
mac_searchentry.py37180644editdlrm
mac_searchentry.pyc39770644editdlrm
mac_searchentry.pyo39770644editdlrm
notebook_closebtn.py25270644editdlrm
notebook_closebtn.pyc29760644editdlrm
notebook_closebtn.pyo29760644editdlrm
plastik_theme.py95880644editdlrm
plastik_theme.pyc75180644editdlrm
plastik_theme.pyo75180644editdlrm
roundframe.py56010644editdlrm
roundframe.pyc64350644editdlrm
roundframe.pyo64350644editdlrm
theme_selector.py19710644editdlrm
theme_selector.pyc28780644editdlrm
theme_selector.pyo28780644editdlrm
treeview_multicolumn.py42460644editdlrm
treeview_multicolumn.pyc54790644editdlrm
treeview_multicolumn.pyo54790644editdlrm
ttkcalendar.py83180644editdlrm
ttkcalendar.pyc97640644editdlrm
ttkcalendar.pyo97640644editdlrm
widget_state.py27210644editdlrm
widget_state.pyc34080644editdlrm
widget_state.pyo34080644editdlrm
Edit: /usr/lib64/python2.7/Demo/tkinter/ttk/treeview_multicolumn.py (4246B)
"""Demo based on the demo mclist included with tk source distribution.""" import Tkinter import tkFont import ttk tree_columns = ("country", "capital", "currency") tree_data = [ ("Argentina", "Buenos Aires", "ARS"), ("Australia", "Canberra", "AUD"), ("Brazil", "Brazilia", "BRL"), ("Canada", "Ottawa", "CAD"), ("China", "Beijing", "CNY"), ("France", "Paris", "EUR"), ("Germany", "Berlin", "EUR"), ("India", "New Delhi", "INR"), ("Italy", "Rome", "EUR"), ("Japan", "Tokyo", "JPY"), ("Mexico", "Mexico City", "MXN"), ("Russia", "Moscow", "RUB"), ("South Africa", "Pretoria", "ZAR"), ("United Kingdom", "London", "GBP"), ("United States", "Washington, D.C.", "USD") ] def sortby(tree, col, descending): """Sort tree contents when a column is clicked on.""" # grab values to sort data = [(tree.set(child, col), child) for child in tree.get_children('')] # reorder data data.sort(reverse=descending) for indx, item in enumerate(data): tree.move(item[1], '', indx) # switch the heading so that it will sort in the opposite direction tree.heading(col, command=lambda col=col: sortby(tree, col, int(not descending))) class App(object): def __init__(self): self.tree = None self._setup_widgets() self._build_tree() def _setup_widgets(self): msg = ttk.Label(wraplength="4i", justify="left", anchor="n", padding=(10, 2, 10, 6), text=("Ttk is the new Tk themed widget set. One of the widgets it " "includes is a tree widget, which can be configured to " "display multiple columns of informational data without " "displaying the tree itself. This is a simple way to build " "a listbox that has multiple columns. Clicking on the " "heading for a column will sort the data by that column. " "You can also change the width of the columns by dragging " "the boundary between them.")) msg.pack(fill='x') container = ttk.Frame() container.pack(fill='both', expand=True) # XXX Sounds like a good support class would be one for constructing # a treeview with scrollbars. self.tree = ttk.Treeview(columns=tree_columns, show="headings") vsb = ttk.Scrollbar(orient="vertical", command=self.tree.yview) hsb = ttk.Scrollbar(orient="horizontal", command=self.tree.xview) self.tree.configure(yscrollcommand=vsb.set, xscrollcommand=hsb.set) self.tree.grid(column=0, row=0, sticky='nsew', in_=container) vsb.grid(column=1, row=0, sticky='ns', in_=container) hsb.grid(column=0, row=1, sticky='ew', in_=container) container.grid_columnconfigure(0, weight=1) container.grid_rowconfigure(0, weight=1) def _build_tree(self): for col in tree_columns: self.tree.heading(col, text=col.title(), command=lambda c=col: sortby(self.tree, c, 0)) # XXX tkFont.Font().measure expected args are incorrect according # to the Tk docs self.tree.column(col, width=tkFont.Font().measure(col.title())) for item in tree_data: self.tree.insert('', 'end', values=item) # adjust columns lenghts if necessary for indx, val in enumerate(item): ilen = tkFont.Font().measure(val) if self.tree.column(tree_columns[indx], width=None) < ilen: self.tree.column(tree_columns[indx], width=ilen) def main(): root = Tkinter.Tk() root.wm_title("Multi-Column List") root.wm_iconname("mclist") import plastik_theme try: plastik_theme.install('~/tile-themes/plastik/plastik') except Exception: import warnings warnings.warn("plastik theme being used without images") app = App() root.mainloop() if __name__ == "__main__": main()