Новость из категории: Информация

Знакомство с Tcl/Tk

Содержание:
1. Введение (Вы читаете данный раздел);
2. Первый пример;
3. Обработка событий;
4. Виджеты;
5. Темы и стили.
Знакомство с Tcl/Tk
В этой части статьи речь пойдет о создании кроссплатформенных интерфейсов с помощью Tcl/Tk. За долгие годы существования Tk в Сети накопился огромный объем учебных и справочных материалов, многие из которых давно устарели и не соответствуют современным приемам работы с этой библиотекой. В этой статье используются материалы самого современного ресурса по Tk - http://www.tkdocs.com и официальная документация по Tcl/ Tk 8.5 - http://www.tcl.tk/man/tcl8.5/TkCmd/contents.htm.

Иерархия виджетов и менеджеры геометрии

Любой графический интерфейс, созданный в Tk, состоит из элементов управления, или виджетов (кнопок, рамок, списков, меню, линеек прокрутки и т.п.), образующих древовидную структуру. Корень этого дерева соответствует главному окну программы и обозначается точкой («.»). Кнопка buttonl, находящаяся внутри рамки framel, будет иметь имя «.frame1.button1». Такое составное имя является одновременно командой Tcl и используется для доступа к конкретному виджету. Каждый виджет - это, по сути, экземпляр объекта определенного класса, хотя реализация этой концепции отличается от привычной для объектно-ориентированных языков.

В современном Tk существуют два типа виджетов: так называемые «старые», которые использовались с незапамятных времен вплоть до версии 8.4, и «новые» (появились в версии 8.5). Последние отличаются современным внешним видом и поддержкой тем и стилей, которые позволяют согласованно менять внешний вид всей программы и использовать «родные» элементы управления для каждой платформы. Классы «новых» виджетов имеют префикс «ttk::» (от themed Tk). Скажем, «старая» кнопка - это просто «button», а «новая» - «ttk::button».

Знакомство с Tcl/Tk

Дерево виджетов само по себе определяет только их вложенность. Точное геометрическое расположение виджетов на экране и их размеры задают так называемые менеджеры геометрии. Они определяют оптимальный размер виджетов в зависимости от их содержимого, управляют изменением их размеров при изменении размера окна, выравнивают виджеты в соответствии с переданными параметрами и заботятся о деталях, зависимых от платформы и выбранного стиля каждого виджета. Менеджеры геометрии работают иерархически: сначала обрабатываются виджеты внутри элементов-контейнеров, затем сами контейнеры в родительском контейнере и т.д. В Tk существует три менеджера геометрии:
- pack - «упаковывает» виджеты последовательно внутри контейнера горизонтально или вертикально;
- place - позволяет точно позиционировать виджеты и изменять их размеры с точностью до пиксела, но перекладывает на пользователя всю работу по изменению их размеров и положения при изменении размеров окна;
- grid - располагает виджеты в ячейках прямоугольной таблицы. Работает практически аналогично таблицам в HTML.

Grid считается предпочтительным менеджером геометрии. Программисты, имеющие опыт работы с таблицами в HTML, как правило, очень легко к нему привыкают, но те, кто раньше работал с GTK+ или Qt, часто считают pack более понятным. Тем не менее я буду придерживаться современных тенденций и использовать grid.



Продолжите знакомство с Tcl/Tk сразу же после того, как найдете, где можно преобразователь частоты altivar (http://www.rakurs.su/brends/SchneiderElectric/catalog/inv) по приемлемой цене? В таком случае Вам определенно точно следует заглянуть на www.rakurs.su. Здесь Вы сможете совершить такую покупку на максимально выгодных для себя условиях!

Рейтинг статьи

Оценка
5/5
голосов: 1
Ваша оценка статье по пятибальной шкале:
 
 
   

Поделиться

Похожие новости

Комментарии

^ Наверх