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

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

Оценка 5
Исследовательские работы
docx
информатика
9 кл—11 кл +1
22.09.2021
Создание кнопки в окне проекта с помощью библиотеки tkinter
В работе рассматриваются возможности создания кнопки в окне проекта с помощью библиотеки 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


 

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

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

Параметр master представляет ссылку на родительский контейнер

Параметр master представляет ссылку на родительский контейнер

Обработка нажатия на кнопку

Обработка нажатия на кнопку
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.
22.09.2021