Клас Button
Командна кнопка застосовується для запуску чи закінчення певного процесу.
Синтаксис створення об’єкта класу Button:
змінна = Button(батьківський_віджет, [властивість = значення])
Під час створення об’єкта Button можна встановлити значення таких властивостей:
text  – текст на кнопці; значенням цієї властивості може бути довільний текст; цей текст потрібно брати в лапки;
наприклад, text = ‘Обчислити’;
width – ширина кнопки; значенням цієї властивості може бути натуральне число – кількість символів, які можуть бути розміщені поруч по горизонталі; наприклад, width = 20;
height – висота кнопки; значенням цієї властивості може бути натуральне число – кількість символів, які можуть бути розміщені поруч по вертикалі (кількість рядків); наприклад, height = 2;
bg, або background – колір фону; значенням цієї властивості може бути назва кольору англійською мовою; цю назву потрібно брати в лапки; наприклад, bg = ‘red’;
fg, або foreground – колір символів тексту; значенням цієї властивості може бути назва кольору англійською мовою; цю назву потрібно брати в лапки; наприклад, fg = ‘green’;
font – шрифт символів тексту на кнопці; значення цієї властивості може містити назву шрифту, розмір символів і накреслення: bold – напівжирний, italic – курсивний, underline – підкреслений; наприклад, font = ‘Arial 14’ або font = (‘Verdana’, 13, ‘bold’);
state – стан кнопки; значеннями цієї властивості можуть бути: normal – звичайний, disable – недоступний;  наприклад, state = ‘normal’
та інших.
Приклад:
Кнопка з іменем bt з текстом Змінити завширшки 15 символів може бути створена командою:
bt = Button(text = ‘Змінити’, width = 15)
Зверни увагу!
Якщо під час створення кнопки значення властивості width не задається, то ширина кнопки автоматично визначається довжиною тексту, який є значенням властивості text.
 Змінити властивість напису або будь-якого іншого віджета можна так: 
ім'я_віджета ["атрибут"] = значення
Приклад:
Змінити для створеного об’єкта bt текст напису.
bt ["text"] = 'Виконати'
Для розташування об’єкта у вікні використовуються методи-пакувальники:
  • змінна.place(x, y), де параметри x і y установлюють зміщення елемента по горизонталі й вертикалі відносно верхнього лівого кута вікна;
  • змінна.pack() — розташування об'єкта нижче попередньо створеного.
Якщо не застосувати метод-пакувальник, то напис у вікні так і не з’явиться, хоча він є в програмі.
Приклад:
Створимо командну кнопку із написом ok.
from tkinter import*
root = Tk()
root.geometry('200x100')
btn = Button(root, text = 'ok', width = 10, height = 2, font = 'Arial 16')
btn.pack()
root.mainloop()
Щоб додати на кнопку малюнок з графічного файла, потрібно зберегти у змінній місцерозташування файла за допомогою функції PhotoImage(file = 'ім'я файла')
і присвоїти атрибуту image значення цієї змінної.
 
Засобами tkinter можна завантажувати зображення форматів .gif, .png.
Приклад:
Створимо командну кнопку і додамо на кнопку малюнок із файла Picture.gif, який міститься в тій самій папці, що і файл програми.
from tkinter import*
root = Tk()
my_image = PhotoImage(file = 'Picture.gif')
btn = Button(root, image = my_image)
btn.pack()
root.mainloop()
147.PNG
Обробка події натискання на кнопку
Щоб прикріпити до віджета обробник події Натискання на кнопку, необхідно під час створення цього об’єкта в переліку атрибутів указати параметр command і присвоїти йому посилання на метод, який буде виконуватися в разі натискання.
 
146.PNG
Приклад:
Створимо «стрибаючу» кнопку. Після натискання на кнопку координати розташування кнопки змінюються випадковим чином.
from random import randint
from tkinter import*
def btn_click():
      x1 = randint(5, 190)
      y1 = randint(5, 95)
      btn.place(x = x1, y = y1)
root = Tk()
root.geometry('200x100')
btn = Button(root, text = 'OK', command = btn_click)
btn.place(x = 10, y = 10)
root.mainloop()
Джерела:
Інформатика : підруч. для 8 кл. закл. загал. серед. освіти / [О. О. Бондаренко, . В. Ластовецький, О. П. Пилипчук, Є. А. Шестопалов]. — Харків : Вид-во Ранок», 2025
Інформатика : підруч. для 8-го кл. закл. заг. серед. освіти / Й. Ривкінд та ін. — Київ : Генеза, 2025.