Кнопки

Клас Button

Для того, щоб створити об'єкт Кнопка застосуємо команди:

b1 = Button(root, text='Моя кнопочка!')

b1.pack()

В першому рядку ми створюємо змінну b1 класу Button(). В дужках вказано назву вікна, в якому вікні розміщена кнопка та властивість text (напис на кнопці). Наступний рядок дає команду показати текст на кнопці. Перед створенням кнопки створити вікно, в якому буде розташована кнопка і в кінці програми не забуваємо про команду root.mainloop(), щоб запустити саме вікно, в якому розміщена кнопка.

Приклад1. Створити вікно з двома кнопками "Моя кнопочка", "Також моя".

Бачимо, що якщо розміри кнопки не задані, то вона розтягується до розмірів тексту на ній. Розміри кнопки задаються за допомогою властивостей ширина і довжина(у знакомісцях). Також для кнопки підходять інші властивості Label.

Приклад 2. Створити вікно з двома кнопками "Моя кнопочка", "Також моя". Розміри другої кнопки підігнати до розмірів першої і зробити її іншого кольору.

Методи класу Вutton:

pack()-показати

Властивості(атрибути) класу Вutton:

command - дія

text - текст на кнопці

width, height — ширина й довжина (у знакомісцях);

bg — колір фону

fg — колір тексту та ін.

Методи у Python записуються наступним чином:

Спочатку вказуємо змінну(об'єкт), до якої застосовуємо метод, далі вказуємо ім'я методу і дужки. А в дужках вказуємо параметри, якщо вони потрібні.

b1 = Button(root, text='Моя кнопочка!')

Отже, кнопки ми навчилися створювати, але коли клікаємо по ній, то нічого не відбувається. Далі потрібно запрограмувати кнопку на виконання якоїсь дії. За дію відповідає властивість command, що дорівнює якійсь функції, запрограмованій раніше. Тобто, спочатку створюємо функцію дії над кнопкою, а далі властивості command надаємо назву цієї функції

Приклад3. Запрограмуйте, щоб після клацання на кнопці "Натисни мене", виводилося слово Натиснув.

from tkinter import *

def magic():

print( 'Натиснув!')

root = Tk()

b1 = Button(root, text='Натисни мене!', command=magic)

b1.pack()

root.mainloop()

Бачимо, що слово виводиться в вікні програми. Якщо хочемо, щоб текст з'являвся у вікні, то створимо функцію в якій створюємо та показуємо написLabel з відповідним текстом.

Приклад4. Запрограмуйте, щоб після клацання на кнопці "Натисни мене", виводився напис Натиснув у вікні під кнопкою.


Завдання1. Створити вікно з назвою "Клікання", кнопкою "Моє ім'я" та написом "Вставити своє ім'я". Змініть колір вікна, кнопки,тексту на кнопці та напису на свій смак. Ширину кнопки зробіть рівною кількості букв в вашому імені(в мене 9).

Запрограмуйте, щоб при кліку по кнопці 1 з'являвся напис.

Запрограмуйте, щоб при кліку по кнопці 2 закривалося вікно програми.

Колір фону вікна або кнопки можна задати назвою або кодом в апострофах 'green'. Коди кольорів: steelblue, #eee, #555, #002240 , #dd0000, #ff4d4d, #FFFFFF, #7e7e7e, #02ff02, #ffb3b3, #fbfbfb, #ff8000, #c86464, #808000, #ff00ff, #5e5eff, #c2d1fa, #ffffff