Поділіться своєю думкою про онлайн уроки інформатики. Пройдіть анонімне опитування на головній сторінці сайту
python
from tkinter import Tk, Label, Button
class MyFirstGUI:
def __init__(self, master):
self.master = master
master.title("Моя Перша GUI")
self.label = Label(master, text="Вітаю, це моя перша програма з графічним інтерфейсом!")
self.label.pack()
self.greet_button = Button(master, text="Вітати", command=self.greet)
self.greet_button.pack()
def greet(self):
print("Привіт!")
root = Tk()
my_gui = MyFirstGUI(root)
root.mainloop()
python
from tkinter import Tk, Button
def on_button_click():
print("Кнопка була натиснута!")
root = Tk()
button = Button(root, text="Натисни мене", command=on_button_click)
button.pack()
root.mainloop()
У цьому прикладі функція on_button_click викликається при натисканні кнопки, і у консолі виводиться повідомлення "Кнопка була натиснута!".
9. Приклад у Лазарусі:
pascal
Copy code
procedure ButtonClick(Sender: TObject);
begin
ShowMessage('Кнопка була натиснута!');
end;
procedure CreateButton;
var
btn: TButton;
begin
btn := TButton.Create(Form1);
btn.Parent := Form1;
btn.Caption := 'Натисни мене';
btn.OnClick := @ButtonClick;
end;
Python (Tkinter):
python
Копіювати
import tkinter as tk # Імпортуємо бібліотеку tkinter для створення графічного інтерфейсу
def display_text(): # Оголошуємо функцію display_text
label.config(text="Привіт, світ!")
# Змінюємо текст мітки (label) на "Привіт, світ!"
root = tk.Tk() # Створюємо головне вікно програми
root.title("Форма з кнопкою") # Встановлюємо заголовок вікна "Форма з кнопкою"
button = tk.Button(root, text="Натисни", command=display_text)
# Створюємо кнопку з текстом "Натисни", яка викликає функцію display_text при натисканні
button.pack(pady=10) # Додаємо кнопку у вікно з відступом 10 пікселів по вертикалі
label = tk.Label(root, text="")
# Створюємо порожню мітку (елемент керування, який виводить текст)
label.pack(pady=10) # Додаємо мітку у вікно з відступом 10 пікселів по вертикалі
root.mainloop() # Запускаємо основний цикл програми
Lazarus:
pascal
Копіювати
procedure TForm1.Button1Click(Sender: TObject);
// Процедура обробки події натискання кнопки (обробник події)
begin
Label1.Caption := 'Привіт, світ!';
// Встановлюємо текст мітки (Label1) як "Привіт, світ!"
end;
Алгоритм створення в Lazarus:
Форма: створіть форму.
Елементи: додайте кнопку (TButton) і мітку (TLabel).
Подія кнопки: встановіть обробник події OnClick для кнопки.
Python (Tkinter):
python
Копіювати
import tkinter as tk # Імпортуємо бібліотеку tkinter
count = 0 # Ініціалізуємо змінну для збереження кількості натискань
def count_clicks(): # Оголошуємо функцію count_clicks
global count # Вказуємо, що змінна count є глобальною
count += 1 # Збільшуємо значення змінної count на 1
label.config(text=f"Кількість натискань: {count}")
# Виводимо кількість натискань у мітку
root = tk.Tk() # Створюємо головне вікно програми
root.title("Лічильник натискань") # Встановлюємо заголовок вікна
button = tk.Button(root, text="Натисни мене", command=count_clicks)
# Створюємо кнопку з текстом "Натисни мене", яка викликає функцію count_clicks
button.pack(pady=10) # Додаємо кнопку у вікно
label = tk.Label(root, text="Кількість натискань: 0")
# Створюємо мітку з початковим текстом "Кількість натискань: 0"
label.pack(pady=10) # Додаємо мітку у вікно
root.mainloop() # Запускаємо основний цикл програми
Lazarus:
pascal
Копіювати
var
ClickCount: Integer;
// Оголошуємо змінну для збереження кількості натискань
procedure TForm1.Button1Click(Sender: TObject);
// Обробник події натискання кнопки
begin
Inc(ClickCount);
// Збільшуємо значення змінної ClickCount на 1
Label1.Caption := 'Кількість натискань: ' + IntToStr(ClickCount);
// Виводимо кількість натискань у мітку
end;
initialization
ClickCount := 0;
// Ініціалізуємо змінну ClickCount значенням 0
Алгоритм створення в Lazarus:
Форма: створіть форму.
Елементи: додайте кнопку (TButton) і мітку (TLabel).
Подія кнопки: встановіть обробник події OnClick для кнопки.
Python (Tkinter):
python
Копіювати
import tkinter as tk # Імпортуємо бібліотеку tkinter
def display_text(): # Оголошуємо функцію display_text
label.config(text=f"Введений текст: {entry.get()}")
# Отримуємо текст із текстового поля та відображаємо його у мітці
root = tk.Tk() # Створюємо головне вікно програми
root.title("Виведення тексту") # Встановлюємо заголовок вікна
entry = tk.Entry(root, width=30)
# Створюємо текстове поле для введення тексту (ширина 30 символів)
entry.pack(pady=10) # Додаємо текстове поле у вікно
button = tk.Button(root, text="Відобразити текст", command=display_text)
# Створюємо кнопку, яка викликає функцію display_text
button.pack(pady=10) # Додаємо кнопку у вікно
label = tk.Label(root, text="")
# Створюємо порожню мітку для відображення тексту
label.pack(pady=10) # Додаємо мітку у вікно
root.mainloop() # Запускаємо основний цикл програми
Lazarus:
pascal
Копіювати
procedure TForm1.Button1Click(Sender: TObject);
// Обробник події натискання кнопки
begin
Label1.Caption := 'Введений текст: ' + Edit1.Text;
// Встановлюємо текст мітки як "Введений текст: " + текст із текстового поля
end;
Алгоритм створення в Lazarus:
Форма: створіть форму.
Елементи: додайте текстове поле (TEdit), кнопку (TButton) і мітку (TLabel).
Подія кнопки: встановіть обробник події OnClick для кнопки.
Що представляє собою форма в програмуванні?
a) Текстовий файл
b) Вікно або область екрану для взаємодії з користувачем
c) Числовий тип даних
d) Програмний код
Відповідь: b) Вікно або область екрану для взаємодії з користувачем
Які основні елементи можна розміщувати на формі в програмі?
a) Лінії і кола
b) Геометричні фігури
c) Елементи керування, такі як кнопки та текстові поля
d) Математичні рівняння
Відповідь: c) Елементи керування, такі як кнопки та текстові поля
Що таке віджет в програмуванні?
a) Мікросхема
b) Графічний об'єкт, який дозволяє взаємодіяти з користувачем
c) Віртуальна машина
d) Строковий тип даних
Відповідь: b) Графічний об'єкт, який дозволяє взаємодіяти з користувачем
Що розуміється під подією в програмуванні?
a) Масштабна операційна система
b) Виняткова ситуація чи взаємодія, яка відбувається під час виконання програми
c) Процесор комп'ютера
d) Велика кількість даних
Відповідь: b) Виняткова ситуація чи взаємодія, яка відбувається під час виконання програми
Що таке обробник події в програмуванні?
a) Вікно програми
b) Файл з кодом програми
c) Функція чи процедура, яка викликається при виникненні певної події
d) Масив даних
Відповідь: c) Функція чи процедура, яка викликається при виникненні певної події
У якому мові програмування використовується ключове слово command для прив'язки функції до події?
a) C++
b) Python
c) Java
d) Pascal (Лазарус)
Відповідь: b) Python
Яким чином обробляється подія натискання на кнопку в середовищі Лазарус (Pascal)?
a) Шляхом додавання текстового поля
b) Зміною розміру вікна
c) Викликом функції чи процедури, прив'язаної до події
d) Автоматично без додаткових налаштувань
Відповідь: c) Викликом функції чи процедури, прив'язаної до події
Як визначається подія натискання на кнопку в мові програмування Python з використанням бібліотеки Tkinter?
a) event = ButtonClick(event)
b) def on_button_click(event):
c) onClick = on_button_click()
d) if button.isClicked():
Відповідь: b) def on_button_click(event):
Що може бути використано як обробник події в мові програмування Python (Tkinter)?
a) Функція
b) Змінна
c) Лінія коду
d) Вираз
Відповідь: a) Функція
Яким чином можна створити кнопку в середовищі Lazarus (Pascal) і прив'язати до неї обробник події?
a) button.Create(Form1); button.OnClick := @ButtonClick;
b) Button := new Button(); Button.EventHandler = ButtonClick;
c) button = createButton(); button.onClick = ButtonClick();
d) createButton(); setOnClick(ButtonClick);
Відповідь: a) button.Create(Form1); button.OnClick := @ButtonClick;