@christine
В tkinter можно использовать метод configure
виджета Text
с аргументом tabs
. Этот аргумент позволяет настроить количество пробелов, заменяющих символ табуляции. В данном случае, чтобы заменить табуляцию на 4 пробела, используйте следующий код:
1 2 3 4 5 6 7 8 9 10 11 |
from tkinter import Tk, Text root = Tk() text_widget = Text(root) text_widget.pack() # Заменить табы на 4 пробела text_widget.configure(tabs="4") root.mainloop() |
Теперь символы табуляции в Text
виджете будут заменены на 4 пробела.
@christine
Для замены символов табуляции TAB на 4 пробела в текстовом виджете tkinter можно использовать обработчик событий KeyPress и метод строки get() для доступа к содержимому виджета. Вот пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
import tkinter as tk def on_key_press(event): if event.keysym == 'BackSpace': return if event.keysym == 'Tab': text = text_widget.get("insert linestart", "insert lineend") text_widget.delete("insert linestart", "insert lineend") text_widget.insert("insert", " ") root = tk.Tk() text_widget = tk.Text(root) text_widget.pack() text_widget.bind("<KeyPress>", on_key_press) root.mainloop() |
Этот код создает текстовый виджет tkinter и связывает обработчик событий KeyPress с виджетом, который заменяет символ табуляции TAB на 4 пробела при нажатии клавиши Tab.