Created
September 15, 2018 06:38
-
-
Save BitAndQuark/054b04444ef149eefb3c10226a3839f8 to your computer and use it in GitHub Desktop.
two section GUI: treeview and labelview
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import tkinter as tk | |
from tkinter import ttk | |
import tkinter.messagebox as mbx | |
import tkinter.filedialog as fdg | |
import tkinter.scrolledtext as stxt | |
class MyWindow(tk.Tk): | |
def __init__(self, screenName=None, baseName=None, className='Tk', useTk=1, sync=0, use=None, | |
geometry='600x400', title='My tkinter Window'): | |
super().__init__(screenName, baseName, className, useTk, sync, use) | |
self.geometry(geometry) | |
self.title(title) | |
MyFrame(self).pack(expand=True, fill=tk.BOTH) | |
class MyFrame(tk.Frame): | |
def __init__(self, master=None, cnf={}, **kw): | |
super().__init__(master, cnf, **kw) | |
self.create_widgets() | |
def create_widgets(self): | |
# Define overall layout. | |
tk.Grid.rowconfigure(self, 0, weight=1) | |
tk.Grid.columnconfigure(self, 0, weight=1) | |
tk.Grid.columnconfigure(self, 1, weight=4) | |
# Add widgets. | |
tree = ttk.Treeview(self) | |
tree.grid(column=0, row=0, sticky=tk.NSEW) | |
tree.insert('', 0, 'item1', text='first node', open=True, tag='one') | |
tree.insert('', tk.END, 'item2', text='first subnode', tag='two') | |
# tree.tag_configure('one', background='yellow') | |
# tree.tag_configure('two', background='green') | |
tree.tag_bind('one', '<1>', lambda e: display_area.config(text='one')) | |
tree.tag_bind('two', '<1>', lambda e: display_area.config(text='two')) | |
display_area = tk.Label(self, text='Welcome to the world of GUI programming.\nExciting journey begins.') | |
display_area.grid(column=1, row=0, sticky=tk.NSEW) | |
if __name__ == '__main__': | |
mw = MyWindow() | |
mw.mainloop() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment