Шаг 61.
Библиотека Tkinter. Компоненты и вспомогательные классы. Нестилизуемые компоненты. Компонент PanedWindow. панель с разделителями (окончание)

    На этом шаге мы рассмотрим методы этого компонента и приведем пример его использования.

    Вот набор методов, поддерживаемых этим компонентом:

    Далее приведен пример размещения в панели с разделителями PanedWindow двух обычных панелей Frame (рисунок 1). Для наглядности опции второй вставляемой панели Frame указываются с применением метода paneconfig():

import tkinter
import tkinter.ttk

class Application(tkinter.ttk.Frame):
    def __init__(self, master=None):
        super().__init__(master)
        # Обязательно указываем ширину и высоту контейнера посредством
        # опций width и height соответственно
        self.configure(width=200, height=100)
        self.pack(padx=4, pady=4)

        self.create_widgets()
        self.master.title("Пример использования PanedWindow")

    def create_widgets(self):
        pwd = tkinter.PanedWindow(self, width=600, height=200, showhandle=True, 
               sashwidth=10, sashrelief=tkinter.RIDGE, handlesize=30)
        pwd.pack()
        frame1 = tkinter.ttk.Frame(pwd)
        pwd.add(frame1, width=300, sticky="wnes")
        frame2 = tkinter.ttk.Frame(pwd)
        pwd.add(frame2)
        pwd.paneconfig(frame2, sticky="wnes")


root = tkinter.Tk()
app = Application(master=root)
root.mainloop()
Архив с файлом можно взять здесь.


Рис.1. Компонент PanedWindow, содержащий две панели


В составе стилизуемых компонентов также имеется компонент PanedWindow. Он полностью аналогичен рассмотренному нами, но беднее в плане функциональности и не очень удобен в использовании.

    Со следующего шага мы начнем рассматривать виджет Menu.




Предыдущий шаг Содержание Следующий шаг