Учебники

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

-фоновый цвет

Используется для установки цвета фона для виджета.

2

ширина полосы

Используется для рисования с рамкой в ​​3D-эффектах.

3

-font fontDescriptor

Используется для установки шрифта для виджета.

4

цвет переднего плана

Используется для установки цвета переднего плана для виджета.

5

высот

Используется для установки высоты для виджета.

6

-светлый фоновый цвет

Используется для установки цветного прямоугольника для рисования вокруг виджета, когда виджет не имеет фокуса ввода.

7

-светлый цвет

Используется для установки цветного прямоугольника для рисования вокруг виджета, когда виджет имеет фокус ввода.

8

-адрес номер

Устанавливает padx для виджета.

9

-падый номер

Устанавливает пади для виджета.

10

состояние

Устанавливает 3D рельеф для этого виджета. Условие может быть приподнятым, утопленным, плоским, ребристым, твердым или желобчатым.

11

текст

Устанавливает текст для виджета.

12

-textvariable varName

Переменная, связанная с виджетом. Когда текст виджета изменяется, переменная устанавливается с текстом виджета.

13

номер

Устанавливает ширину для виджета.

-фоновый цвет

Используется для установки цвета фона для виджета.

ширина полосы

Используется для рисования с рамкой в ​​3D-эффектах.

-font fontDescriptor

Используется для установки шрифта для виджета.

цвет переднего плана

Используется для установки цвета переднего плана для виджета.

высот

Используется для установки высоты для виджета.

-светлый фоновый цвет

Используется для установки цветного прямоугольника для рисования вокруг виджета, когда виджет не имеет фокуса ввода.

-светлый цвет

Используется для установки цветного прямоугольника для рисования вокруг виджета, когда виджет имеет фокус ввода.

-адрес номер

Устанавливает padx для виджета.

-падый номер

Устанавливает пади для виджета.

состояние

Устанавливает 3D рельеф для этого виджета. Условие может быть приподнятым, утопленным, плоским, ребристым, твердым или желобчатым.

текст

Устанавливает текст для виджета.

-textvariable varName

Переменная, связанная с виджетом. Когда текст виджета изменяется, переменная устанавливается с текстом виджета.

номер

Устанавливает ширину для виджета.

Простой пример для вариантов показан ниже.

#!/usr/bin/wish

grid [label .myLabel -background red -text "Hello World" -relief ridge -borderwidth 3]
   -padx 100 -pady 100

Когда мы запустим вышеуказанную программу, мы получим следующий вывод.

Hello World Options

Список доступных виджетов категоризирован ниже —

Основные виджеты

Sr.No. Виджет и описание
1

этикетка

Виджет для отображения одной строки текста.

2

кнопка

Виджет, который кликабелен и запускает действие.

3

запись

Виджет раньше принимал одну строку текста в качестве ввода.

4

Сообщение

Виджет для отображения нескольких строк текста.

5

Текст

Виджет для отображения и при необходимости редактирования нескольких строк текста.

6

Верхний уровень

Окно со всеми границами и украшениями, предоставляемыми менеджером окон.

этикетка

Виджет для отображения одной строки текста.

кнопка

Виджет, который кликабелен и запускает действие.

запись

Виджет раньше принимал одну строку текста в качестве ввода.

Сообщение

Виджет для отображения нескольких строк текста.

Текст

Виджет для отображения и при необходимости редактирования нескольких строк текста.

Верхний уровень

Окно со всеми границами и украшениями, предоставляемыми менеджером окон.

Виджеты макетов

Sr.No. Виджет и описание
1

Рамка

Контейнерный виджет для хранения других виджетов.

2

Место

Виджет для хранения других виджетов в определенном месте с координатами его происхождения и точного размера.

3

пак

Простой виджет для организации виджетов по блокам перед размещением их в родительском виджете.

4

сетка

Виджет для размещения упаковки виджетов в разных направлениях.

Рамка

Контейнерный виджет для хранения других виджетов.

Место

Виджет для хранения других виджетов в определенном месте с координатами его происхождения и точного размера.

пак

Простой виджет для организации виджетов по блокам перед размещением их в родительском виджете.

сетка

Виджет для размещения упаковки виджетов в разных направлениях.

Выбор виджетов

Sr.No. Виджет и описание
1

Переключатель

Виджет, который имеет набор кнопок включения / выключения и метки, одна из которых может быть выбрана.

2

Checkbutton

Виджет, который имеет набор кнопок включения / выключения и метки, многие из которых могут быть выбраны ..

3

Меню

Виджет, который выступает в качестве держателя для пунктов меню.

4

Listbox

Виджет, который отображает список ячеек, одну или несколько из которых можно выбрать.

Переключатель

Виджет, который имеет набор кнопок включения / выключения и метки, одна из которых может быть выбрана.

Checkbutton

Виджет, который имеет набор кнопок включения / выключения и метки, многие из которых могут быть выбраны ..

Меню

Виджет, который выступает в качестве держателя для пунктов меню.

Listbox

Виджет, который отображает список ячеек, одну или несколько из которых можно выбрать.

Мега Виджеты

Sr.No. Виджет и описание
1

диалог

Виджет для отображения диалоговых окон.

2

со счётчиком

Виджет, который позволяет пользователям выбирать номера.

3

Поле со списком

Виджет, который сочетает в себе запись со списком вариантов, доступных для использования.

4

Ноутбук

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

5

Индикатор

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

6

В виде дерева

Виджет для отображения и позволяет просматривать иерархию элементов более в виде дерева.

7

Полоса прокрутки

Прокрутка виджетов без текстовых или холст виджетов.

8

Масштаб

Масштабируйте виджет, чтобы выбрать числовое значение с помощью ползунков.

диалог

Виджет для отображения диалоговых окон.

со счётчиком

Виджет, который позволяет пользователям выбирать номера.

Поле со списком

Виджет, который сочетает в себе запись со списком вариантов, доступных для использования.

Ноутбук

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

Индикатор

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

В виде дерева

Виджет для отображения и позволяет просматривать иерархию элементов более в виде дерева.

Полоса прокрутки

Прокрутка виджетов без текстовых или холст виджетов.

Масштаб

Масштабируйте виджет, чтобы выбрать числовое значение с помощью ползунков.

Другие виджеты

Sr.No. Виджет и описание
1

холст

Рисование виджета для отображения графики и изображений.

холст

Рисование виджета для отображения графики и изображений.

Мы рассмотрим каждый из этих виджетов в следующих главах.