Tkinter: Показать / скрыть определенный текст в текстовом поле - PullRequest
0 голосов
/ 02 ноября 2018

ОПИСАНИЕ:

У меня есть текстовое поле с текстом в нем. Смотрите изображение ниже.

enter image description here


ВОПРОС:

Я хочу, чтобы выделенный текст скрывался при нажатии кнопки «Скрыть». И затем показать текст, когда я нажимаю кнопку Показать (не там на картинке). Аналогично pack () и pack_forget (), но на этот раз для текста, а не для виджета.

1 Ответ

0 голосов
/ 02 ноября 2018

Вы можете добавить тег к области текста и настроить тег на elide=True, чтобы скрыть текст, и установить его на elide=False, чтобы показать его.

Вот небольшой пример:

import tkinter as tk

def hide():
    text.tag_add("hidden", "sel.first", "sel.last")

def show_all():
    text.tag_remove("hidden", "1.0", "end")

root = tk.Tk()
toolbar = tk.Frame(root)
hide_button = tk.Button(toolbar, text="Hide selected text", command=hide)
show_button = tk.Button(toolbar, text="Show all", command=show_all)
hide_button.pack(side="left")
show_button.pack(side="left")

text = tk.Text(root)
text.tag_configure("hidden", elide=True, background="red")

with open(__file__, "r") as f:
    text.insert("end", f.read())

toolbar.pack(side="top", fill="x")
text.pack(side="top", fill="both", expand=True)

text.tag_add("sel", "3.0", "8.0")
root.mainloop()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...