Перейти до основного вмісту
Інформатика• 5 хв читання

4.2. Кнопка

Назад до змісту Дайте відповіді на запитання 1. Як створити кнопку? Щоб створити кнопку, потрібно використати команду ім’я_кнопки = Button() або ім’я_кнопки = Button(властивість = значення). У першому випадку кнопка буде створена зі стандартними налаштуваннями, а в другому — із заданими властивостями. 2. Як розмістити створену кнопку у вікні? Кнопку можна розмістити у вікні двома […]

Д
До уроку
Опубліковано: (Оновлено: )

Назад до змісту

Дайте відповіді на запитання

1. Як створити кнопку?

Щоб створити кнопку, потрібно використати команду ім'я_кнопки = Button() або ім'я_кнопки = Button(властивість = значення). У першому випадку кнопка буде створена зі стандартними налаштуваннями, а в другому — із заданими властивостями.

2. Як розмістити створену кнопку у вікні?

Кнопку можна розмістити у вікні двома способами :

  • За допомогою методу pack(), який автоматично розміщує кнопку у вікні, зазвичай по центру зверху.
  • За допомогою методу place(x=..., y=...), який розміщує верхній лівий кут кнопки у точці вікна із заданими координатами x та y.

3. Які ви знаєте властивості кнопки? Що визначає кожна з них?

Основні властивості кнопки :

  • text — визначає текст, який буде відображатися на кнопці.
  • width — встановлює ширину кнопки в символах.
  • height — встановлює висоту кнопки в рядках тексту.
  • bg (або background) — визначає колір фону кнопки.
  • fg (або foreground) — визначає колір тексту на кнопці.
  • font — встановлює шрифт, розмір та накреслення (наприклад, жирний або курсив) тексту.
  • state — визначає стан кнопки, наприклад, normal (звичайна) або disable (недоступна).

4. Як задати значення властивостей кнопки?

Значення властивостей можна задати двома способами :

  1. Безпосередньо при створенні кнопки, перелічивши їх у дужках: bt = Button(text='Натисни', width=15).
  2. Після створення кнопки, використовуючи такий синтаксис: btn['width'] = 25 або btn['fg'] = 'blue'.

5. Якими способами можна призначити для кнопки обробники подій?

Для кнопки можна призначити обробники подій двома основними способами :

  • Використовуючи метод bind(), який дозволяє пов’язати будь-яку подію з її обробником.
  • Використовуючи властивість command, яка є простішим способом для обробки події клацання мишею.

6. Як можна призначити для кнопки обробник події Click?

Щоб призначити обробник події клацання (Click), потрібно під час створення кнопки вказати ім’я процедури-обробника як значення властивості command. Наприклад: btn = Button(command=my_function).

7. Як у проєкті змінити значення властивостей кнопки?

Для зміни властивостей кнопки під час виконання проєкту (наприклад, в обробнику події) використовується команда виду: ім'я_кнопки['назва_властивості'] = нове_значення. Наприклад, щоб змінити текст на кнопці btn, можна написати btn['text'] = 'Новий текст'.

Обговоріть і зробіть висновки

1. Чим відрізняється у проєкті створення та відкриття вікна від створення та розміщення кнопки?

Створення та відкриття вікна — це початковий етап, що створює головний контейнер для всіх інших елементів. Кнопка ж є дочірнім елементом, який створюється вже після вікна і обов’язково має бути в ньому розміщений за допомогою методів pack() або place(). Вікно створюється командою Tk(), а кнопка — Button().

2. Що спільного і відмінного в обробниках події для вікна і для кнопки?

  • Спільне: Для обох, і для вікна, і для кнопки, можна призначати обробники подій за допомогою методу bind(), який дозволяє пов’язати функцію з певною подією.
  • Відмінне: Основна відмінність полягає в обробці події клацання лівою кнопкою миші. Для кнопки існує спеціальна властивість command, яка спрощує призначення обробника для цієї події. При використанні command в заголовку процедури-обробника не потрібно вказувати аргумент event, на відміну від використання методу bind().

Виконайте завдання

1. Створіть проєкт, у якому в результаті настання події Click для кнопки її ширина стане 30 символів, висота 3 символи і зміниться текст на кнопці на назву вашого населеного пункту.

from tkinter import *

def click():
    btn['width'] = 30
    btn['height'] = 3
    btn['text'] = 'Київ'

window = Tk()
btn = Button(command=click)
btn.pack()
window.mainloop()

2. Створіть проєкт, у якому в результаті настання події MouseMove для кнопки її ширина стане 20 символів, висота 4 символи і зміниться текст на кнопці на ваше прізвище.

from tkinter import *

def mouse_move(event):
    btn['width'] = 20
    btn['height'] = 4
    btn['text'] = 'Петренко'

window = Tk()
btn = Button(text='Натисни', width=10, height=2, bg='lightblue')
btn.bind('', mouse_move)
btn.pack()
window.mainloop()

3. Створіть проєкт, у якому в результаті настання події DoubleClick для кнопки зміниться її ширина і висота, текст на кнопці, колір фону і колір тексту, а для вікна – його розміри, колір фону, текст у рядку заголовка.

from tkinter import *

def double_click(event):
    btn['width'] = 25
    btn['height'] = 5
    btn['text'] = 'Подвійне клацання'
    btn['bg'] = 'yellow'
    btn['fg'] = 'red'
    window.geometry('400x300')
    window['bg'] = 'lightgreen'
    window.title('Нове вікно')

window = Tk()
btn = Button()
btn.bind('', double_click)
btn.pack()
window.mainloop()

4. Створіть проєкт, у якому розташуйте у вікні три кнопки однакових розмірів одна під одною. Початковий колір верхньої кнопки – червоний, двох інших – чорний. Створіть обробники події Click для кожної кнопки такі, щоб вибір середньої кнопки робив її жовтою, а дві інші – чорними; вибір нижньої кнопки робив її зеленою, а дві інші – чорними; вибір верхньої кнопки робив її червоною, а дві інші – чорними.

from tkinter import *

def click1():
    btn1['bg'] = 'red'
    btn2['bg'] = 'black'
    btn3['bg'] = 'black'

def click2():
    btn1['bg'] = 'black'
    btn2['bg'] = 'yellow'
    btn3['bg'] = 'black'

def click3():
    btn1['bg'] = 'black'
    btn2['bg'] = 'black'
    btn3['bg'] = 'green'

window = Tk()
btn1 = Button(text='Кнопка 1', width=15, height=2, bg='red', command=click1)
btn2 = Button(text='Кнопка 2', width=15, height=2, bg='black', fg='white', command=click2)
btn3 = Button(text='Кнопка 3', width=15, height=2, bg='black', fg='white', command=click3)
btn1.pack()
btn2.pack()
btn3.pack()
window.mainloop()

5. Створіть проєкт, у якому розташуйте у вікні три кнопки горизонтально одну поруч з іншою. Установіть такі значення їх властивостей, щоб на початку виконання проєкту перша кнопка була видима і доступна, друга – видима і недоступна, третя – невидима і недоступна. Для кожної кнопки створіть обробник події Click, щоб вибір першої кнопки робив її невидимою і недоступною, другу кнопку – видимою і доступною, третю кнопку – видимою і недоступною; вибір другої кнопки робив її невидимою і недоступною, третю кнопку – видимою і доступною, першу кнопку – видимою і недоступною; вибір третьої кнопки робив її невидимою і недоступною, першу кнопку – видимою і доступною, другу кнопку – видимою і недоступною.

from tkinter import *

# Створюємо вікно
window = Tk()
window.title('Проєкт з трьома кнопками')
window.geometry('400x100')

# Обробник події для кнопки 1
def click1():
    button1.place_forget()
    button1['state'] = 'disable'
    button2.place(x=10, y=30)
    button2['state'] = 'normal'
    button3.place(x=140, y=30)
    button3['state'] = 'disable'

# Обробник події для кнопки 2
def click2():
    button2.place_forget()
    button2['state'] = 'disable'
    button3.place(x=140, y=30)
    button3['state'] = 'normal'
    button1.place(x=10, y=30)
    button1['state'] = 'disable'

# Обробник події для кнопки 3
def click3():
    button3.place_forget()
    button3['state'] = 'disable'
    button1.place(x=10, y=30)
    button1['state'] = 'normal'
    button2.place(x=75, y=30)
    button2['state'] = 'disable'

# Створюємо три кнопки
button1 = Button(text='Кнопка 1', width=10, command=click1)
button2 = Button(text='Кнопка 2', width=10, state='disable', command=click2)
button3 = Button(text='Кнопка 3', width=10, state='disable', command=click3)

# Розміщуємо кнопки горизонтально
button1.place(x=10, y=30)
button2.place(x=75, y=30)
# Кнопка 3 не розміщується, бо вона невидима

# Запускаємо вікно
window.mainloop()

Готуємось до вивчення нового матеріалу

1. Які ще елементи керування, крім кнопки, ви використовували під час роботи з різними програмами?

Під час роботи з програмами використовуються такі елементи керування:

  • Текстові поля для введення інформації
  • Списки вибору з варіантами
  • Прапорці для позначення опцій
  • Перемикачі для вибору одного з варіантів
  • Повзунки для регулювання значень
  • Меню для вибору команд
  • Вкладки для перемикання між розділами

2. Для чого використовується графічний об’єкт Напис у текстовому процесорі Word?

Графічний об’єкт Напис у Word використовується для розміщення тексту в довільному місці документа з можливістю його вільного переміщення та форматування. Напис дозволяє створювати текстові блоки, які не прив’язані до основного потоку тексту, змінювати їх розмір, колір фону, межі та розташування на сторінці.

Теги статті:

#Відповіді Інформатика Ривкінд 8 клас
Д

До уроку

Освітній портал «До уроку»

← Усі статті блогу↑ Вгору