Создание кнопки в окне проекта с помощью библиотеки tkinter

  • Исследовательские работы
  • docx
  • 22.09.2021
Публикация в СМИ для учителей

Публикация в СМИ для учителей

Бесплатное участие. Свидетельство СМИ сразу.
Мгновенные 10 документов в портфолио.

В работе рассматриваются возможности создания кнопки в окне проекта с помощью библиотеки tkinter
Иконка файла материала Графика на Pyton создание кнопки и ее нажатие.docx

Создание кнопки в окне проекта с помощью библиотеки tkinter

Библиотека tkinter содержит набор компонентов, одним из которых является кнопка. Добавление кнопки в окно происходит следующим кодом:

1

2

3

4

5

6

7

8

9

10

from tkinter import *

 

root = Tk()

root.title("GUI на Python")

root.geometry("300x250")

 

btn = Button(text="Hello")

btn.pack()

 

root.mainloop()

Для создания кнопки используется конструктор Button(). В этом конструкторе с помощью параметра text можно установить текст кнопки.

Чтобы сделать элемент видимым, у него вызывается метод pack().

Таким образом вверху окна проекта появится кнопка.

Кнопка в tkinter в Python

Каждый компонент, в том числе кнопка, имеет ряд атрибутов, которые влияют на ее визуализацию и которые можно настроить через конструктор:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

from tkinter import *

 

root = Tk()

root.title("GUI на Python")

root.geometry("300x250")

 

btn = Button(text="Hello",          # текст кнопки

             background="#555",     # фоновый цвет кнопки

             foreground="#ccc",     # цвет текста

             padx="20",             # отступ от границ до содержимого по горизонтали

             pady="8",              # отступ от границ до содержимого по вертикали

             font="16"              # высота шрифта

             )

btn.pack()

 

root.mainloop()

Параметры pady, padx, font принимают числовое значение, а параметры background и foreground получают шестнадцатеричное значение цвета. Параметр font содержит определение шрифта.

Конструктор Button может принимать следующие параметры: master и options.

 

 

Параметр master представляет ссылку на родительский контейнер. В рассмотренном выше примере этим родительским контейнером могло быть само графическое окно, и тогда код выглядит следующим образом:

1

2

3

4

5

6

root = Tk()

root.title("GUI на Python")

root.geometry("300x250")

 

btn = Button(root, text="Hello")

btn.pack()

Но если в коде создается одно окно, то кнопка и любой другой элемент уже по умолчанию размещаются в этом окне. Поэтому первый параметр можно опустить, как в примерах выше. В том случае, когда в коде создавалось бы несколько окон, тогда можно передать в конструктор 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

from tkinter import *

 

clicks = 0

 

 

def click_button():

    global clicks

    clicks += 1

    root.title("Clicks {}".format(clicks))

 

root = Tk()

root.title("GUI на Python")

root.geometry("300x250")

 

btn = Button(text="Click Me", background="#555", foreground="#ccc",

             padx="20", pady="8", font="16", command=click_button)

btn.pack()

 

root.mainloop()

Здесь в качестве обработчика нажатия устанавливается функция click_button. В этой функции изменяется глобальная переменная clicks, которая хранит число кликов, и ее значение выводится в заголовок окна. Таким образом, при каждом нажатии кнопки будет срабатывать функция click_button, и количество кликов будет увеличиваться.

Настройка кнопки в tkinter и Python