Текстове поле

email:  voronenko@54.edu.ks.ua 


Текстове поле (Entry) в tkinter - це віджет, який використовується для введення тексту користувачем. Він є одним з найпростіших і найпоширеніших віджетів tkinter, який використовується в багатьох програмах.

Робота з текстом в текстовому полі tkinter включає такі завдання:

1. Отримання введеного тексту:

2. Вставка тексту:

3. Видалення тексту:

4. Заміна тексту:

5. Зміна форматування тексту:

6. Отримання інформації про курсор:

7. Переміщення курсора:

Використання messagebox в tkinter 

Використання messagebox в бібліотеці Tkinter є важливою частиною розробки графічних інтерфейсів користувача (GUI) в мові програмування Python. 

Messagebox дозволяє виводити повідомлення, сповіщення та попередження для користувача відносно подій або стану програми. Цей важливий інструмент допомагає покращити взаємодію користувача з програмою, надаючи зручні та інформативні діалогові вікна. 

Варіанти використання messagebox

Messagebox пропонує кілька попередньо визначених функцій для відображення різних типів повідомлень:

ПРАКТИЧНА РОБОТА (частина 1)

import tkinter as tk

from tkinter import messagebox

# Функція, яка буде виконуватися при натисканні кнопки

def on_submit():

surname = entry_surname.get()

name = entry_name.get()

    # Відображення повідомлення

tk.messagebox.showinfo("Вітання!", f"Ваше прізвище: {surname}, ім'я: {name}")

# Створення вікна

root = tk.Tk()

root.title("Введення прізвища та імені")

root.geometry("300x150")

# Створення текстових написів

label_surname = tk.Label(text="Прізвище:")

label_name = tk.Label(text="Ім'я:")

# Створення текстових полів

entry_surname = tk.Entry()

entry_name = tk.Entry()

# Створення кнопки

button_submit = tk.Button(text="Відправити", command=on_submit)

# Розміщення віджетів

label_surname.pack()

entry_surname.pack()

label_name.pack()

entry_name.pack()

button_submit.pack()

# Запуск циклу обробки подій

root.mainloop()

Дослідіть дану програму. 

Змініть її код, використавши для розміщення елементів метод place()

Зверніть увагу.

В параметрах message функції showinfo в Tkinter  f перед рядком вказує на використання форматованого рядка (f-string). F-строки є способом вставки значень змінних або виразів безпосередньо в рядок. 

ПРАКТИЧНА РОБОТА (частина 2)

Використання методу insert для заповнення багаторядкового поля введення/виведення

Метод insert в Tkinter використовується для вставки тексту у віджет Entry або Text. 

text_widget.insert(index, string) 

Де:

Використання методу delete для очищення поля введення/виведення

Метод delete в Tkinter використовується для очищення тексту з віджетів Entry або Text

text_widget.delete(start_index, end_index) 

Де:

Завдання

Створити програму, яка передбачає що введена інформацію в поля Прізвище та Ім'я буде переноситись в багаторядкове поле для збереження.

Вдосканалимо програму з практичної роботи частина 1:

1. Додати нові елементи:

button_clear = tk.Button(text="Очистити", command=clear_submit)

button_clear.place(x=150, y=100)

text=tk.Text()

text.place(x=20, y=160, width=260)

2. Змінити функцію on_submit()

В функцію on_submit() додати рядок коду, який відповідатиме за введення інформації,  отриманої з об'єктів entry_surname та entry_name, в об'єкт text

text.insert("end",f"{surname} {name}\n")

В цьому рядку параметр "end" вказує, що інформація буде додаватися в кінець. Параметр f"{surname} {name}\n" вказує на те, що текст буде відформатованим згідно. \n додає перехід на новий рядок.

3. Створимо нову функцію clear_submit(), яка буде очищувати об'єкти entry_surname та entry_name.

def clear_submit():

    entry_surname.delete(0, "end")

    entry_name.delete(0, "end")

ПРАКТИЧНА РОБОТА (частина 3)

Робота з текстовим файлом в Tkinter 

Робота з текстовими файлами є необхідною частиною багатьох програм та додатків. Це дозволяє користувачам читати, редагувати та зберігати дані у текстовому форматі. У контексті графічного інтерфейсу користувача (GUI), Tkinter - стандартна бібліотека для створення GUI в мові програмування Python, надає зручні інструменти для взаємодії з текстовими файлами.

Тема "Робота з текстовим файлом в Tkinter" важлива для розробників, які прагнуть створити програми з інтуїтивно зрозумілим інтерфейсом для користувачів та функціональністю роботи з текстовими даними. У цьому контексті, ми будемо досліджувати можливості віджету Text Tkinter, який надає засоби для зручного введення, редагування та збереження текстової інформації.