Appearance
Создание окна приложения
Многие программы на сегодняшний день используют графический интерфейс, который более интуитивен и удобен для пользователя, чем консоль. И с помощью языка программирования Python также можно создавать графические программы. Для этого в Python по умолчанию применяется специальный toolkit - набор компонентов, который называется tkinter.
Библиотека tkinter доступна в виде отдельного встроенного модуля, который содержит все необходимые графические компоненты - кнопки, текстовые поля и т.п.
Базовым моментом в построении графических программ является создание окна. Затем в окно добавляются все остальные компоненты графического интерфейса. Поэтому создадим вначале простейшее окно. Для этого определим следующий скрипт:
py
from tkinter import *
root = Tk()
'''
any code
'''
root.mainloop()Для создания графического окна применяется конструктор Tk(), который определен в модуле tkinter. Создаваемое окно присваивается переменной root, и через эту переменную мы можем управлять атрибутами окна. Вместо комментария '''any code''' добавляются все необходимые компоненты окна.
Для отображения окна надо вызвать у него метод mainloop(), который запускает цикл обработки событий окна для взаимодействия с пользователем.
В результате при запуске скрипта мы увидим такое пустое окошко:
C помощью метода title() можно установить заголовок окна.
С помощью метода geometry() - размер окна. Для установки размера в метод geometry() передается строка в формате «Ширина x Высота». Если при создании окна приложения метод geometry() не вызывается, то окно занимает то пространство, которое необходимо для размещения внутреннего содержимого:
py
from tkinter import *
root = Tk()
root.title('My first window title')
root.geometry('350x200')
root.mainloop()Результат выполнения:
Начальная позиция окна
По умолчанию окно позиционируется в верхний левый угол экрана. Но мы можем изменить его положение, передав нужные значения в метод geometry():
py
from tkinter import *
root = Tk()
root.title("My second Python window")
root.geometry("400x300+300+250")
root.mainloop()Теперь строка в методе geometry имеет следующий формат: «Ширина x Высота + координатаX + координатаY». То есть при запуске окно будет находиться на 300 пикселей вправо и на 250 пикселей вниз от верхнего левого угла экрана.
Упражнения
Создайте 4 окна с заголовками окон: "Top", "Bottom", "Right", "Left". Разместить окна по сторонам рабочего стола:
- вверх по центру,
- низ по центру,
- право по центру,
- лево по центру.
Создайте 4 окна с заголовками окон: "Top-right", "Top-left", "Bottom-right", "Bottom-left". Разместить 4 окна по углам рабочего стола.
Создайте окно, появляющееся в центре экрана, с заголовком "Center".
Текстовые и другие редакторы в заголовках программы указывают имя "активного файла - название программы".
- Создайте окно с заголовком в виде f-строки, в котором указывается имя разработчика, название и версия программы;
- Имя и версия программы хранятся в отдельных переменных;
- Пример вывода заголовка: "Bob's programm - Empty v.01"
Иконки окон не отображаются в системах MacOS, задача только для Windows: Найдите в интернете, как в tkinter сменить иконку, отображаемую в левом верхнем углу окна. И замените её, на любую другую иконку, которую можно скопировать из интернета или создать самому. Картинка для иконки обязательно должна иметь расширение
.ico.