Створення власного додатка за допомогою модуля tkinter.
Створення власного додатка за допомогою модуля `tkinter` в Python може бути цікавим і корисним проектом. У цьому прикладі ми розглянемо процес створення простого додатка для запису і відображення нотаток.
Крок 1: Імпорт модуля tkinter
Спочатку імпортуємо модуль `tkinter` і створимо основне вікно програми.
import tkinter as tk
root = tk.Tk()
root.title(“Простий додаток для нотаток”)
root.geometry(“400×400”)
Крок 2: Створення віджетів
Тепер створимо необхідні віджети для нашого додатка. Це будуть поле введення (Entry) для заголовка нотатки, текстова область (Text) для самого тексту нотатки, кнопка для збереження нотатки і список для відображення збережених нотаток.
title_label = tk.Label(root, text=”Заголовок нотатки”)
title_label.pack()
title_entry = tk.Entry(root, width=50)
title_entry.pack(pady=5)
text_label = tk.Label(root, text=”Текст нотатки”)
text_label.pack()
text_area = tk.Text(root, height=10, width=50)
text_area.pack(pady=5)
save_button = tk.Button(root, text=”Зберегти нотатку”, command=lambda: save_note())
save_button.pack(pady=10)
notes_list_label = tk.Label(root, text=”Збережені нотатки”)
notes_list_label.pack()
notes_listbox = tk.Listbox(root, width=50, height=10)
notes_listbox.pack(pady=5)
Крок 3: Функція для збереження нотатки
Тепер напишемо функцію `save_note`, яка зберігатиме заголовок і текст нотатки, додаватиме заголовок у список і очищатиме поля введення.
notes = []
def save_note():
title = title_entry.get()
text = text_area.get(“1.0”, tk.END).strip()
if title and text:
notes.append({“title”: title, “text”: text})
notes_listbox.insert(tk.END, title)
title_entry.delete(0, tk.END)
text_area.delete(“1.0”, tk.END)
Крок 4: Функція для відображення обраної нотатки
Щоб користувач міг переглядати збережені нотатки, додамо функцію, яка відображатиме текст нотатки, коли користувач обирає її зі списку.
def show_note(event):
selected_index = notes_listbox.curselection()
if selected_index:
note = notes[selected_index[0]]
text_area.delete(“1.0”, tk.END)
text_area.insert(tk.END, note[“text”])
notes_listbox.bind(“<<ListboxSelect>>”, show_note)
Крок 5: Запуск головного циклу додатка
Останнім кроком є запуск головного циклу програми, щоб відобразити наше вікно.
root.mainloop()
Повний код додатка
- import tkinter as tk
- Створення головного вікна
root = tk.Tk()
root.title(“Простий додаток для нотаток”)
root.geometry(“400×400”) - Віджети
title_label = tk.Label(root, text=”Заголовок нотатки”)
title_label.pack()
title_entry = tk.Entry(root, width=50)
title_entry.pack(pady=5)
text_label = tk.Label(root, text=”Текст нотатки”)
text_label.pack()
text_area = tk.Text(root, height=10, width=50)
text_area.pack(pady=5)
save_button = tk.Button(root, text=”Зберегти нотатку”, command=lambda: save_note())
save_button.pack(pady=10)
notes_list_label = tk.Label(root, text=”Збережені нотатки”)
notes_list_label.pack()
notes_listbox = tk.Listbox(root, width=50, height=10)
notes_listbox.pack(pady=5) - Збережені нотатки
notes = [] - Функція для збереження нотатки
def save_note():
title = title_entry.get()
text = text_area.get(“1.0”, tk.END).strip()
if title and text:
notes.append({“title”: title, “text”: text})
notes_listbox.insert(tk.END, title)
title_entry.delete(0, tk.END)
text_area.delete(“1.0”, tk.END) - Функція для відображення нотатки
def show_note(event):
selected_index = notes_listbox.curselection()
if selected_index:
note = notes[selected_index[0]]
text_area.delete(“1.0”, tk.END)
text_area.insert(tk.END, note[“text”]) - Прив’язка події вибору нотатки до функції відображення
notes_listbox.bind(“<<ListboxSelect>>”, show_note) - Запуск головного циклу програми
root.mainloop()
Тест Python. Створення власного додатка за допомогою модуля tkinter.
Висновок: Створення власного додатка за допомогою модуля `tkinter` в Python
Цей приклад демонструє, як можна створити простий додаток для збереження і відображення нотаток за допомогою модуля `tkinter`. Додаток дозволяє вводити заголовки і тексти нотаток, зберігати їх і переглядати у будь-який момент. Це базовий проект, який можна розширювати і вдосконалювати відповідно до ваших потреб.