Шаг 43.
Библиотека Tkinter. Компоненты и вспомогательные классы. Стилизуемые компоненты. Компонент LabelFrame: панель с заголовком

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

    Здесь мы познакомимся еще с одним компонентом-контейнером, который выглядит как панель с рамкой и текстовым заголовком. Такой контейнер хорошо подходит для группировки компонентов, предназначенных для занесения наборов значений. Этот компонент представляется классом LabelFrame.

    Компонент LabelFrame поддерживает следующие опции:

    Опция background, указывающая цвет фона панели, задается только через стиль.

    Вот пример использования панели с рамкой и заголовком для объединения полей ввода имени и фамилии пользователя:

import tkinter
import tkinter.ttk

class Application(tkinter.ttk.Frame):
    def __init__(self, master=None):
        super().__init__(master)
        self.pack(padx=4, pady=4)

        self.create_widgets()
        self.master.title("Пример использования LabelFrame")
        # Запрещаем изменять размеры окна
        self.master.resizable(False, False)

    def create_widgets(self):
        # Чтобы изменить цвет фона
        # раскомментируйте эти строки и
        # добавьте в создание виджета frame
        # свойство style='TLabelframe'
        # styleScale = tkinter.ttk.Style()
        # styleScale.configure('TLabelframe', background='blue')
        frame = tkinter.ttk.LabelFrame(self, text="Имя и фамилия пользователя")
        frame.pack()
        lblName1 = tkinter.ttk.Label(frame, text="Имя")
        lblName1.pack()
        entName1 = tkinter.ttk.Entry(frame)
        entName1.pack()
        lblName2 = tkinter.ttk.Label(frame, text="Фамилия")
        lblName2.pack()
        entName2 = tkinter.ttk.Entry(frame)
        entName2.pack()
          

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

    Результат работы приложения приведен на рисунке 1.


Рис.1. Результат работы приложения

    На следующем шаге мы рассмотрим виджет Notebook.




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