Виджет Tkinter ScrolledText в Python с примерами
На данный момент вы знаете, как создать виджет Text и как привязать вертикальную полосу прокрутки к нему.
Для большего удобства Tkinter предоставляет виджет ScrolledText, который выполняет те же функции в Python, что и виджет Text, связанный с вертикальной полосой прокрутки.
Знакомство с виджетом Tkinter ScrolledText
Чтобы использовать виджет ScrolledText, вам необходимо импортировать класс ScrolledText из модуля tkinter.scrolledtext.
Технически класс ScrolledText наследуется от класса Text. Виджет ScrolledText использует виджет Frame, вставленный между контейнером и виджетом Text, для размещения виджета Scrollbar.
Поэтому ScrolledText имеет те же свойства и методы, что и виджет Text. Кроме того, методы менеджера геометрии, включая pack, grid и place, ограничены Frame.
Пример виджета Tkinter ScrolledText
Следующая программа иллюстрирует, как создать виджет ScrolledText:
import tkinter as tk from tkinter.scrolledtext import ScrolledText root = tk.Tk() root.title("ScrolledText Widget") st = ScrolledText(root, width=50, height=10) st.pack(fill=tk.BOTH, side=tk.LEFT, expand=True) root.mainloop()
Выход:
Как это работает.
- Сначала импортируйте модуль tkinter и класс ScrolledText из модуля tkinter.scrolledtext.
- Во-вторых, создайте корневое окно и задайте для него заголовок «ScrolledText Widget».
- В-третьих, создайте новый виджет ScrolledText и отобразите его в корневом окне.
- Наконец, запустите основной цикл.
Вот та же программа, но написанная с использованием подхода объектно-ориентированного программирования:
import tkinter as tk from tkinter.scrolledtext import ScrolledText class App(tk.Tk): def __init__(self): super().__init__() self.title("ScrolledText Widget") st = ScrolledText(self, width=50, height=10) st.pack(fill=tk.BOTH, side=tk.LEFT, expand=True) if __name__ == "__main__": app = App() app.mainloop()