Как я могу получить полосу прокрутки для управления областью текста? - PullRequest
0 голосов
/ 30 сентября 2019

Когда я пытаюсь прокрутить текстовый объект вниз, полоса прокрутки отскакивает назад вместо фактической прокрутки

memo_content = Text(edit_window,height = 4, width = 40)
memo_content.grid(row = 1, column = 0, sticky = E+W)
scroll_memo_content=Scrollbar(edit_window)
scroll_memo_content.grid(row = 1, column = 2, sticky = N+S)
memo_content.configure(yscrollcommand=scroll_memo_content.set)

Полоса прокрутки не имеет никакого контроля над текстовым полем, и когда я перетаскиваю ее, она возвращается назадтуда, где это означало, что единственный способ прокрутки - удерживать стрелку вверх / вниз и перемещать курсор

Ответы [ 2 ]

0 голосов
/ 30 сентября 2019

Настройка полосы прокрутки требует двух шагов:

  1. Вы должны настроить полосу прокрутки, чтобы узнать, каким виджетом она управляет. Обычно это делается путем установки атрибута command полосы прокрутки как команды yview прокручиваемого виджета.
  2. Необходимо настроить окно для прокрутки, чтобы знать, что полоса прокрутки должна обновляться, когда ее положениеизменения. Обычно это делается путем установки yscrollcommand или xscrollcomand виджета на метод set соответствующей полосы прокрутки.

Вы забыли сделать первый шаг.

Внесите следующее изменение:

scroll_memo_content=Scrollbar(edit_window, command=memo_content.yview)
0 голосов
/ 30 сентября 2019
from tkinter import *

root = Tk()

text = Text(root, height=25, width=50)

sb = Scrollbar(root)

text.configure(yscrollcommand=sb.set)
sb.configure(command=text.yview) # <- You missed this

sb.pack(side=RIGHT, fill=Y)

text.pack()

Вы пропустили настройку фактической полосы прокрутки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...