Tk - Обзор виджетов
Базовый компонент приложения на основе Tk называется виджетом. Компонент также иногда называют окном, поскольку в Tk «окно» и «виджет» часто используются как синонимы. Tk - это пакет, который предоставляет богатый набор графических компонентов для создания графических приложений с Tcl.
Tk предоставляет ряд виджетов, начиная от базовых виджетов графического интерфейса, таких как кнопки и меню, до виджетов отображения данных. Виджеты очень легко настраиваются, так как они имеют конфигурации по умолчанию, что упрощает их использование.
Приложения Tk следуют иерархии виджетов, в которой любое количество виджетов может быть помещено в другой виджет, а эти виджеты - в другой виджет. Главный виджет в программе Tk называется корневым виджетом и может быть создан путем создания нового экземпляра класса TkRoot.
Создание виджета
Синтаксис для создания виджета приведен ниже.
type variableName arguments options
Тип здесь относится к типу виджета, например кнопке, метке и так далее. Аргументы могут быть необязательными и обязательными в зависимости от индивидуального синтаксиса каждого виджета. Варианты варьируются от размера до форматирования каждого компонента.
Соглашение об именах виджетов
Виджет использует структуру, аналогичную именованию пакетов. В Tk корневое окно называется точкой (.), А элемент в окне, например, кнопка называется .myButton1. Имя переменной должно начинаться со строчной буквы, цифры или знака пунктуации (кроме точки). После первого символа другие символы могут быть прописными или строчными буквами, цифрами или знаками препинания (кроме точек). В начале метки рекомендуется использовать строчную букву.
Соглашение об именовании цветов
Цвета могут быть объявлены с использованием таких имен, как красный, зеленый и т. Д. Он также может использовать шестнадцатеричное представление с #. Количество шестнадцатеричных цифр может быть 3, 6, 9 или 12.
Соглашение о размерах
Единица измерения по умолчанию - пиксели, и она используется, когда мы не указываем размер. Другие размеры: i для дюймов, m для миллиметров, c для сантиметров и p для точек.
Общие параметры
Для всех виджетов доступно так много общих параметров, и они перечислены ниже в следующей таблице -
Sr.No. | Синтаксис и описание |
---|---|
1 | -background color Используется для установки цвета фона для виджета. |
2 | -borderwidth width Используется для рисования с рамкой в 3D-эффектах. |
3 | -font fontDescriptor Используется для установки шрифта для виджета. |
4 | -foreground color Используется для установки цвета переднего плана для виджета. |
5 | -height number Используется для установки высоты виджета. |
6 | -highlightbackground color Используется для установки цветного прямоугольника для рисования вокруг виджета, когда виджет не имеет фокуса ввода. |
7 | -highlightcolor color Используется для установки цветного прямоугольника для рисования вокруг виджета, когда виджет имеет фокус ввода. |
8 | -padx number Устанавливает padx для виджета. |
9 | -pady number Устанавливает панель для виджета. |
10 | -relief condition Устанавливает трехмерный рельеф для этого виджета. Состояние может быть приподнятым, углубленным, плоским, гребневым, твердым или желобчатым. |
11 | -text text Устанавливает текст для виджета. |
12 | -textvariable varName Переменная, связанная с виджетом. Когда текст виджета изменяется, переменная устанавливается с текстом виджета. |
13 | -width number Устанавливает ширину виджета. |
Ниже показан простой пример вариантов.
#!/usr/bin/wish
grid [label .myLabel -background red -text "Hello World" -relief ridge -borderwidth 3]
-padx 100 -pady 100
Когда мы запустим вышеуказанную программу, мы получим следующий результат.
Список доступных виджетов разбит на категории ниже -
Основные виджеты
Sr.No. | Виджет и описание |
---|---|
1 | Label Виджет для отображения одной строки текста. |
2 | Button Виджет, на который можно нажимать и запускать действие. |
3 | Entry Виджет, используемый для приема одной строки текста в качестве ввода. |
4 | Message Виджет для отображения нескольких строк текста. |
5 | Text Виджет для отображения и редактирования нескольких строк текста. |
6 | Toplevel Окно со всеми границами и декорациями, предоставляемыми оконным менеджером. |
Виджеты макета
Sr.No. | Виджет и описание |
---|---|
1 | Frame Виджет-контейнер для хранения других виджетов. |
2 | Place Виджет, чтобы удерживать другие виджеты в определенном месте с координатами его начала и точным размером. |
3 | Pack Простой виджет для организации виджетов в блоки перед их размещением в родительском виджете. |
4 | Grid Виджет для вложения виджетов в разные стороны. |
Виджеты выбора
Sr.No. | Виджет и описание |
---|---|
1 | Radiobutton Виджет с набором кнопок включения / выключения и меток, одну из которых можно выбрать. |
2 | Checkbutton Виджет с набором кнопок включения / выключения и меток, многие из которых можно выбрать. |
3 | Menu Виджет, который действует как держатель пунктов меню. |
4 | Listbox Виджет, отображающий список ячеек, одну или несколько из которых можно выбрать. |
Мега виджеты
Sr.No. | Виджет и описание |
---|---|
1 | Dialog Виджет для отображения диалоговых окон. |
2 | Spinbox Виджет, позволяющий пользователям выбирать числа. |
3 | Combobox Виджет, который объединяет запись со списком вариантов, доступных для использования. |
4 | Notebook Виджет с вкладками, который помогает переключаться между одной из нескольких страниц с помощью вкладки индекса. |
5 | Progressbar Виджет для визуальной обратной связи о ходе длительной операции, такой как загрузка файла. |
6 | Treeview Виджет для отображения и разрешения просмотра иерархии элементов в виде дерева. |
7 | Scrollbar Прокрутка виджетов без текста или виджетов холста. |
8 | Scale Виджет «Масштабировать» для выбора числового значения с помощью ползунков. |
Другие виджеты
Sr.No. | Виджет и описание |
---|---|
1 | Canvas Виджет рисования для отображения графики и изображений. |
Мы рассмотрим каждый из этих виджетов в следующих главах.