Лекція 11. Створення кнопок та настроювання їх властивостей.

Так як ми з вами вже вміємо створювати вікна та налаштовувати їх властивості, давайте почнемо працювати з їх елементами. І одним із найголовніших елементів управління є кнопка. Саме про створення кнопок, налаштовування їх властивостей та присвоювання їм подій і буде йти мова.

Кнопки створюються дуже просто – за допомогою функції Button() (з англ. “кнопка”). Тобто працюємо за старою схемою і спочатку дамо кнопці назву, а після знаку дорівнює встановлюємо нашу функцію:

назва_кнопки=Button()

Ми вже знаємо, що вікон у нас може бути багато, тому нам потрібно вказати до якого вікна вона відноситься:

назва_кнопки=Button(назва_вікна_до_якого_вона_належить, атрибут1, …)

Окрім цього ми можемо додавати атрибути (властивості) до нашої кнопки. Такі як:

  • bg= колір – колір кнопки;
  • text= текст – текст кнопки;
  • fg= колір – колір тексту кнопки;
  • font= шрифт та розмір шрифту – шрифт тексту кнопки;
  • width=число – ширина кнопки;
  • height=число – висота кнопки.

На відміну від розмірів вікна та розмірів інших об’єктів, розміри кнопки вимірюються в кількості символів, які можна розмістити в кнопку. Це буде залежати від розміру тексту в кнопці та розмірів тексту.

Давайте розглянемо, як застосовуються властивості  кнопки на прикладі. Всі властивості можна застосувати так як і до вікна, але в даному випадку зручніше їх записати в дужки через кому.

Створимо кнопку but, та встановимо для неї всі вище згадані властивості. Нехай ширина кнопки буде 20 пікселів, висота 10 пікселів, колір фону зелений, текст “ОК” червоного кольору, шрифт Times New Roman 12. А розміри кнопки: 4 знаки — ширина і 2 знаки — висота. Давайте поглянемо, як це повинно виглядати:

but=Button(Window, width=4, height=2, bg=“green”, text= “ОК”, fg=“red”, font=“Times 12”)

Звичайно, атрибути можна вказувати не всі – це за бажанням розробника програми.

На самостійне опрацювання. Знайдіть якомога більше шрифтів, які можна застосувати для кнопок у Python.

Це лише перша частина створення кнопки. Нам ще потрібно її розмістити у вікні, тобто вказати її точне місце знаходження. Це робиться за допомогою метода place (з англ. ” місце”).

Метод (в об’єктно-орієнтованому програмуванні) – підпрограма (процедура, функція), що використовується виключно разом з об’єктом.

Має він такі параметри:

  • х= число у пікселях – відступ від лівого краю вікна;
  • у= число у пікселях – відступ від верхнього краю вікна.

Застосовується таким чином одразу після створення кнопки:

назва_кнопки.place(х=число, y= число)

Отже, ми маємо таку просту програму, яка буде виводити на екран нашу кнопку та розміщати її в 20 пікселях від лівого краю, та в 10 пікселях від верхнього краю. Нехай наше вікно буде розмірами 100х100. Маємо (мал. 21):

Ну і головна функція кнопок – це об’єкт управління, тобто для нього також можна прив’язувати події. Це робиться так як і з вікнами, але замість назви вікна встановлюються назви кнопок. Тобто:

назва_кнопки.bind(<подія>”, назва_функції)

Давайте для прикладу нашій кнопці присвоїмо подію Button-1, при якій розміри та колір вікна будуть змінюватися. Розміри стануть “200×200”, а колір жовтий. Ось як буде виглядати наша програма, функцію назвемо fun1:

Тепер давайте спробуємо запустити нашу програму і подивимося на результат (мал. 22).

Контрольні питання

1. Що таке кнопка?

2. Для чого вона потрібна?

3. Як створити кнопку в мові програмування Python?

4. Які властивості можна їй надати?

5. Як розмістити кнопку у вікні модуля tkinter?

6. Що називають методом у програмуванні?

7. Що таке place, та як з ним працювати?

Практичні завдання

1. Створіть новий файл Python та нове вікно із кнопкою. Розміри вікна 400×300, заголовок “Вікно №1”. Кнопка розміщена в 100 пікселях від лівого краю та в 90 пікселях від правого краю, текст кнопка “Розфарбуй”. Колір кнопки та тексту довільний. При натисканні лівою клавішею миші на кнопку розміри вікна зміняться на 650×560, колір фону вікна стане зеленим а кнопки блакитним.

2. Створіть новий файл Python та нове вікно із кнопкою. Розміри вікна 500×800, заголовок “Вікно №2”. Кнопка розміщена в 200 пікселях від лівого краю та в 390 пікселях від правого краю, текст кнопка “Ок”. Колір кнопки та тексту довільний. При натисканні лівою клавішею миші на кнопку колір фону вікна стане фіолетовим а кнопки жовтим та створиться вікно із повідомленням “Завдання виконано!”

3. Створіть новий файл Python та нове вікно із заголовком “Це вікно Python”. Створіть нову кнопку та розмістіть її приблизно по центру даного вікна. Колір кнопки рожевий, текст кнопки “Змінити”, колір тексту блакитний. При натисканні правою клавішею миші по даній кнопці розміри вікна стануть 560х435 пікселів, а колір вікна стане жовтим. Також буде виводитися вікно повідомлення із заголовком “Виконано” та із текстом “Зміни застосовані!”