Organizational Widgets
Frame
- Types of Frame
- Basic
from tkinter import *
from tkinter import ttk
root = Tk()
frame = ttk.Frame(root)
frame.pack()
- Relief
frame.config(height = 100, width = 200)
frame.config(relief = RIDGE)
- Button
ttk.Button(frame, text = 'Click Me').grid()
frame.config(padding = (30,15))
- Label
ttk.LabelFrame(root, height = 100, width = 200, text = 'My Frame').pack()
Window
from tkinter import *
root = Tk()
window = Toplevel(root)
window.title('New Window')
window.lower()
window.lift(root)
window.state('zoomed')
window.state('withdrawn')
window.state('iconic')
window.state('normal')
window.state()
window.iconify()
window.deiconify()
- geometry() Method
window.geometry('WIDTHxHEIGHT+X+Y')
window.geometry('640x480+50+100')
- Resize
window.resizable(False, False)
window.maxsize(640, 480)
window.minsize(200, 200)
window.resizable(True, True
Destory
root.destroy()
Paned Window
from tkinter import *
from tkinter import ttk
root = Tk()
panedwindow = ttk.Panedwindow(root, orient = HORIZONTAL)
panedwindow.pack(fill = BOTH, expand = True)
frame1 = ttk.Frame(panedwindow, width = 100, height = 300, relief = SUNKEN)
frame2 = ttk.Frame(panedwindow, width = 400, height = 400, relief = SUNKEN)
panedwindow.add(frame1, weight = 1)
panedwindow.add(frame2, weight = 4)
frame3 = ttk.Frame(panedwindow, width = 50, height = 400, relief = SUNKEN)
panedwindow.insert(1, frame3)
panedwindow.forget(1)
Tabbed Notebook
from tkinter import *
from tkinter import ttk
root = Tk()
notebook = ttk.Notebook(root)
notebook.pack()
frame1 = ttk.Frame(notebook)
frame2 = ttk.Frame(notebook)
notebook.add(frame1, text = 'One')
notebook.add(frame2, text = 'Two')
ttk.Button(frame1, text = 'Click Me').pack()
frame3 = ttk.Frame(notebook)
notebook.insert(1, frame3, text = 'Three')
notebook.forget(1)
notebook.add(frame3, text = 'Three')
>>> print(notebook.select())
'.21468912.21468016'
>>> notebook.index(notebook.select())
1
>>> notebook.select(2)
''
>>> notebook.tab(1, state = 'disabled')
{}
>>> notebook.tab(1, state = 'hidden')
{}
>>> notebook.tab(1, state = 'normal')
{}
>>> notebook.tab(1, 'text')
'Two'
>>> notebook.tab(1)
{'padding' : [0], 'text' : 'Two', ...}