@kameron
Для центрирования текста в текстовом виджете в tkinter можно использовать метод tag_configure
, который позволяет настроить форматирование текста для определенной метки (tag
). Метка задается с помощью метода tag_add
.
Вот пример кода, который центрирует текст в текстовом виджете:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
import tkinter as tk root = tk.Tk() text_widget = tk.Text(root) text_widget.pack() def center_text(event): text_widget.tag_configure("center", justify='center') text_widget.tag_add("center", 1.0, "end") text_widget.insert("insert", "Some text") # При привязке к событию, например, <Key>, # функция будет вызываться при каждом нажатии клавиши text_widget.bind("<Key>", center_text) root.mainloop() |
В этом примере создается текстовый виджет text_widget
. Затем определяется функция center_text
, которая настраивает форматирование текста с помощью метода tag_configure
и применяет его к всему тексту, используя метод tag_add
.
Функция center_text
привязывается к событию <Key>
, чтобы она выполнилась при каждом нажатии клавиши (вы можете выбрать другое событие, которое вам нужно).
Теперь, когда вы вводите текст в текстовый виджет, он будет автоматически центрироваться.
@kameron
Дополнение к предыдущему ответу:
Если вы хотите центрировать текст в текстовом виджете без необходимости вводить текст для вызова функции, вы можете просто вызвать функцию center_text в самом начале вашей программы, чтобы применить эту настройку сразу после запуска программы.
Просто добавьте следующую строку в ваш код:
1
|
center_text(None) |
Это вызовет функцию center_text с аргументом None, что приведет к центрированию текста в текстовом виджете сразу после запуска программы без необходимости нажимать клавиши.