Создание окна приложения
Многие программы на сегодняшний день используют графический интерфейс, который более интуитивен и удобен для пользователя, чем консоль. И с помощью языка программирования Python также можно создавать графические программы. Для этого в Python по умолчанию применяется специальный toolkit
- набор компонентов, который называется tkinter
.
Библиотека tkinter
доступна в виде отдельного встроенного модуля, который содержит все необходимые графические компоненты - кнопки, текстовые поля и т.п.
Базовым моментом в построении графических программ является создание окна. Затем в окно добавляются все остальные компоненты графического интерфейса. Поэтому создадим вначале простейшее окно. Для этого определим следующий скрипт:
from tkinter import *
root = Tk()
'''
any code
'''
root.mainloop()
2
3
4
5
6
7
Для создания графического окна применяется конструктор Tk()
, который определен в модуле tkinter
. Создаваемое окно присваивается переменной root
, и через эту переменную мы можем управлять атрибутами окна. Вместо комментария '''any code'''
добавляются все необходимые компоненты окна.
Для отображения окна надо вызвать у него метод mainloop()
, который запускает цикл обработки событий окна для взаимодействия с пользователем.
В результате при запуске скрипта мы увидим такое пустое окошко:
C помощью метода title()
можно установить заголовок окна.
С помощью метода geometry()
- размер окна. Для установки размера в метод geometry()
передается строка в формате «Ширина x Высота». Если при создании окна приложения метод geometry()
не вызывается, то окно занимает то пространство, которое необходимо для размещения внутреннего содержимого:
from tkinter import *
root = Tk()
root.title('My first window title')
root.geometry('350x200')
root.mainloop()
2
3
4
5
6
Результат выполнения:
Начальная позиция окна
По умолчанию окно позиционируется в верхний левый угол экрана. Но мы можем изменить его положение, передав нужные значения в метод geometry()
:
from tkinter import *
root = Tk()
root.title("My second Python window")
root.geometry("400x300+300+250")
root.mainloop()
2
3
4
5
6
Теперь строка в методе 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
.