You are currently viewing Python Tkinter – Текстовый виджет

Python Tkinter – Текстовый виджет

Tkinter — это набор инструментов с графическим интерфейсом, используемый в python для создания удобных графических интерфейсов.Tkinter-это наиболее часто используемый и самый базовый графический интерфейс, доступный в python. Tkinter использует объектно-ориентированный подход для создания графических интерфейсов.

Примечание: Для получения дополнительной информации обратитесь к графическому интерфейсу Python – tkinter

Текстовый Виджет

Текстовый виджет используется там, где пользователь хочет вставить многострочные текстовые поля. Этот виджет может использоваться для различных приложений, где требуется многострочный текст, например, для обмена сообщениями, отправки или отображения информации и многих других задач. Мы можем вставлять медиафайлы, такие как изображения и ссылки, также в Textwidget.

Синтаксис:

T = Text(root, bg, fg, bd, height, width, font, ..)

Дополнительные параметры:

  • root – корневое окно.
  • bg – цвет фона
  • fg – цвет переднего плана
  • bd – граница виджета.
  • height – высота виджета.
  • width – ширина виджета.
  • font – Тип шрифта текста.
  • cursor – Тип используемого курсора.
  • insetofftime – Время в миллисекундах, в течение которого мигание курсора выключено.
  • insertontime – время в миллисекундах, в течение которого мигает датчик.
  • padx – горизонтальная обивка.
  • pady – вертикальная обивка.
  • state – определяет, будет ли виджет реагировать на движения мыши или клавиатуры.
  • highligththickness – определяет толщину подсветки фокуса.
  • insertionwidth – определяет ширину символа вставки.
  • relief – тип бордюра, который может быть УТОПЛЕННЫМ, ПРИПОДНЯТЫМ, КАНАВКОЙ и ГРЕБНЕМ.
  • yscrollcommand – чтобы сделать виджет вертикально прокручиваемым.
  • xscrollcommand – чтобы сделать виджет горизонтально прокручиваемым.

Некоторые распространенные методы:

  • index(index) – Чтобы получить указанный индекс.
  • insert(index) – Для вставки строки с указанным индексом.
  • see(index) – Проверяет, видна ли строка по заданному индексу или нет.
  • get(startindex, endindex) – чтобы получить символы в заданном диапазоне.
  • delete(startindex, endindex) – удаляет символы в пределах указанного диапазона.

Методы обработки тегов:

  • tag_delete(tagname) – Чтобы удалить данный тег.
  • tag_add(tagname, startindex, endindex) – пометить строку в указанном диапазоне
  • tag_remove(tagname, startindex, endindex) – чтобы удалить тег из указанного диапазона

Методы обработки знаков:

  • mark_names() – чтобы получить все отметки в заданном диапазоне.
  • index(mark) – чтобы получить индекс отметки.
  • mark_gravity() – чтобы получить гравитацию заданной отметки.

Пример 1:

import tkinter as tk


root = Tk()

# specify size of window.
root.geometry("250x170")

# Create text widget and specify size.
T = Text(root, height = 5, width = 52)

# Create label
l = Label(root, text = "Fact of the Day")
l.config(font =("Courier", 14))

Fact = """A man can be arrested in
Italy for wearing a skirt in public."""

# Create button for next text.
b1 = Button(root, text = "Next", )

# Create an Exit button.
b2 = Button(root, text = "Exit",
			command = root.destroy)

l.pack()
T.pack()
b1.pack()
b2.pack()

# Insert The Fact.
T.insert(tk.END, Fact)

tk.mainloop()

Выход:

Пример 2: 

Сохранение текста и выполнение операций

from tkinter import *

root = Tk()
root.geometry("300x300")
root.title(" Q&A ")

def Take_input():
	INPUT = inputtxt.get("1.0", "end-1c")
	print(INPUT)
	if(INPUT == "120"):
		Output.insert(END, 'Correct')
	else:
		Output.insert(END, "Wrong answer")
	
l = Label(text = "What is 24 * 5 ? ")
inputtxt = Text(root, height = 10,
				width = 25,
				bg = "light yellow")

Output = Text(root, height = 5,
			width = 25,
			bg = "light cyan")

Display = Button(root, height = 2,
				width = 20,
				text ="Show",
				command = lambda:Take_input())

l.pack()
inputtxt.pack()
Display.pack()
Output.pack()

mainloop()

Выход: