Кнопки. Клас Button

У вікні можна розміщувати різні об'єкти. Наприклад, для розміщення кнопки у вікні використаємо клас Button (з англ. кнопка).

Створимо конкретний об'єкт цього класу з іменем b. Можна використовувати будь яку назву змінної.

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

b1.pack()

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

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

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

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

command - дія

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

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

bg — колір фону

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

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

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

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

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

from tkinter import *

root = Tk()

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

b1.pack()

b2 = Button(root, text='Також моя!')

b2.pack()

root.mainloop()

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

from tkinter import *

root = Tk()

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

b1.pack()

b2 = Button(root, text='Також моя!',width=13,bg='pink')

b2.pack()

root.mainloop()

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

from tkinter import *

def magic():

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

root = Tk()

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

b1.pack()

root.mainloop()

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

def vv():

label1 = Label(root, text='Натиснув')

        label1.pack()

root = Tk()

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

b1.pack()

root.mainloop()

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

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

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

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



Немає коментарів:

Дописати коментар