Уроки Tk
#01: Первая программа "Привет, мир". |
Первым делом запустите код примера, далее в этом уроке будет описана структура программы. Подробно все элементы интерфейса один за одним будут разбираться в следующих уроках.
Если вы всё сделали правильно, то на экране появится окно, в заголовке которого будет написано Hi, а на окне расположена текстовая метка "Привет, Мир!" и кнопка Выход, если нажать на кнопку, то программа завершится (логично, правда?).
Итак, в программе четыре строчки, разберём их.
В первой строчке устанавливается заголовок окна с помощью команды wm title. WM расшифровывается как Window Manager - менеджер окон. Через обращение к нему можно поменять свойства всего окна, например, заголовок, размеры, позицию, иконку, и т.д. В данном случае подкомандой title мы устанавливаем заголовок. По умолчанию заголовок - название исполняемого файла.
Главное окно имеет имя ".". Расположенные на нём элементы управления обладают именами начинающимися с точки, для указания их расположения. Если в главном окне есть фреймы (т.е. окно разделено на части), то элементы управления будут иметь в начале имени имя фрейма, которому они принадлежат. Например: ".leftframe.label1". Всё это напоминает пути в файловой системе.
Во второй строчке создаётся элемент управления (widget) - label (метка). Метка предназначена для вывода строки текста. Это самый часто используемый элемент управления. Более подробно он будет рассмотрен в следующем уроке. В данном случае при создании сразу указывается текст метки опцией -text. Имя метки - ".lab".
Далее, в третьей строчке создаётся кнопка (button) с именем ".ex". Сразу же указывается текст кнопки уже знакомой опцией -text, и опцией -command указывается команда, выполняемая при нажатии на кнопку. В данном случае - exit, выход из программы.
Однако, при создании виджетов (widget - элемент управления) они не появляются в окне. Для того, чтобы их вывести используется команда pack.
Команда pack располагает виджеты в окне согласно заданным опциям. По умолчанию - сверху вниз один под другим. Опция -expand yes указывает что виджеты можно увеличивать на свободное пространство, а опция -fill both указывает, что они должны заполнять всё свободное место как по горизонтали, так и по вертикали.
wm title . "Hi" label .hi -text "Привет, Мир!" button .ex -text Выход -command exit pack .hi .ex -expand yes -fill both |
Горбачев "Yurez" Юрий |