Tkinter поддерживает множество виджетов, которые делают графический интерфейс все более привлекательным и функциональным. Виджет PanedWindow — это виджет диспетчера геометрии, который может содержать одну или несколько дочерних панелей виджетов. Размер дочерних виджетов может быть изменен пользователем путем перемещения разделительных линий с помощью мыши.
Синтаксис:
PanedWindow(master, **options)
Параметры:
master: родительский виджет или основной объект Tk()
options: которые передаются в методе конфигурации или непосредственно в конструкторе
PanedWindow можно использовать для реализации общих 2-х или 3-х панелей, но можно использовать несколько панелей.
Код № 1:
Панорамное окно только с двумя стеклами
# Importing everything from tkinter module
from tkinter import * from tkinter import ttk
# main tkinter window
root = Tk()
# panedwindow object
pw = PanedWindow(orient ='vertical')
# Button widget
top = ttk.Button(pw, text ="Click Me !\nI'm a Button")
top.pack(side = TOP)
# This will add button widget to the panedwindow
pw.add(top)
# Checkbutton Widget
bot = Checkbutton(pw, text ="Choose Me !")
bot.pack(side = TOP)
# This will add Checkbutton to panedwindow
pw.add(bot)
# expand is used so that widgets can expand
# fill is used to let widgets adjust itself
# according to the size of main window
pw.pack(fill = BOTH, expand = True)
# This method is used to show sash
pw.configure(sashrelief = RAISED)
# Infinite loop can be destroyed by
# keyboard or mouse interrupt
mainloop()
Выход:
Код № 2:
Панорамное окно с несколькими стеклами
# Importing everything from tkinter module
from tkinter import * from tkinter import ttk
# main tkinter window
root = Tk()
# panedwindow object
pw = PanedWindow(orient ='vertical')
# Button widget
top = ttk.Button(pw, text ="Click Me !\nI'm a Button")
top.pack(side = TOP)
# This will add button widget to the panedwindow
pw.add(top)
# Checkbutton Widget
bot = Checkbutton(pw, text ="Choose Me !")
bot.pack(side = TOP)
# This will add Checkbutton to panedwindow
pw.add(bot)
# adding Label widget
label = Label(pw, text ="I'm a Label")
label.pack(side = TOP)
pw.add(label)
# Tkinter string variable
string = StringVar()
# Entry widget with some styling in fonts
entry = Entry(pw, textvariable = string, font =('arial', 15, 'bold'))
entry.pack()
# Focus force is used to focus on particular
# widget that means widget is already selected for operations
entry.focus_force()
pw.add(entry)
# expand is used so that widgets can expand
# fill is used to let widgets adjust itself
# according to the size of main window
pw.pack(fill = BOTH, expand = True)
# This method is used to show sash
pw.configure(sashrelief = RAISED)
# Infinite loop can be destroyed by
# keyboard or mouse interrupt
mainloop()