Создание кнопки в окне проекта с помощью библиотеки tkinter
Библиотека tkinter содержит набор компонентов, одним из которых является кнопка. Добавление кнопки в окно происходит следующим кодом:
1 2 3 4 5 6 7 8 9 10 |
|
Для создания кнопки используется конструктор Button(). В этом конструкторе с помощью параметра text можно установить текст кнопки.
Чтобы сделать элемент видимым, у него вызывается метод pack().
Таким образом вверху окна проекта появится кнопка.
Каждый компонент, в том числе кнопка, имеет ряд атрибутов, которые влияют на ее визуализацию и которые можно настроить через конструктор:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
Параметры pady, padx, font принимают числовое значение, а параметры background и foreground получают шестнадцатеричное значение цвета. Параметр font содержит определение шрифта.
Конструктор Button может
принимать следующие параметры: master и options.
|
|
Параметр master представляет ссылку на родительский контейнер. В рассмотренном выше примере этим родительским контейнером могло быть само графическое окно, и тогда код выглядит следующим образом:
1 2 3 4 5 6 |
|
Но если в коде создается одно окно, то кнопка и любой другой элемент уже по умолчанию размещаются в этом окне. Поэтому первый параметр можно опустить, как в примерах выше. В том случае, когда в коде создавалось бы несколько окон, тогда можно передать в конструктор Button ссылку на нужное окно.
Второй параметр options представляет набор на самом деле набор параметров, которые можно установить по их имени:
· activebackground: цвет кнопки, когда она находится в нажатом состоянии
· activeforeground: цвет текста кнопки, когда она в нажатом состоянии
· bd: толщина границы (по умолчанию 2)
· bg/background: фоновый цвет кнопки
· fg/foreground: цвет текста кнопки
· font: шрифт текста, например, font="Arial 14"
-
шрифт Arial высотой 14px, или font=("Verdana",
13, "bold")
- шрифт Verdana высотой 13px с
выделением жирным
· height: высота кнопки
· highlightcolor: цвет кнопки, когда она в фокусе
· image: изображение на кнопке
· justify: устанавливает выравнивание текста. Значение LEFT выравнивает текст по левому краю, CENTER - по центру, RIGHT - по правому краю
· padx: отступ от границ кнопки до ее текста справа и слева
· pady: отступ от границ кнопки до ее текста сверху и снизу
· relief: определяет тип границы, может принимать значения SUNKEN, RAISED, GROOVE, RIDGE
· state: устанавливает состояние кнопки, может принимать значения DISABLED, ACTIVE, NORMAL (по умолчанию)
· text: устанавливает текст кнопки
· textvariable: устанавливает привязку к элементу StringVar
· underline: указывает на номер символа в тексте кнопки, который подчеркивается. По умолчанию значение -1, то есть никакой символ не подчеркивается
· width: ширина кнопки
· wraplength: при положительном значении строки текста будут переносится для вмещения в пространство кнопки
Для обработки нажатия на кнопку необходимо
установить в конструкторе параметр command
,
присвоив ему ссылку на функцию, которая будет срабатывать при нажатии:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
Здесь в качестве обработчика нажатия устанавливается функция click_button. В этой функции изменяется глобальная переменная clicks, которая хранит число кликов, и ее значение выводится в заголовок окна. Таким образом, при каждом нажатии кнопки будет срабатывать функция click_button, и количество кликов будет увеличиваться.
© ООО «Знанио»
С вами с 2009 года.