@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, что приведет к центрированию текста в текстовом виджете сразу после запуска программы без необходимости нажимать клавиши.