Tkinter прокрутки через щелчок

Есть ли ошибка в естественном обработчике событий щелчка полосы прокрутки, что-то не так с тем, как я его настроил, или что-то еще? Я спрашиваю, потому что он не всегда работает (когда он не работает, он либо ничего не делает, либо перемещается в неправильную позицию). В противном случае полосы прокрутки работают нормально. Иногда щелчки работают, но в большинстве случаев это не так. (Для обнаружения проблемы часто требуется более одного или двух кликов.)

hbar=Scrollbar(newTabFrame, orient=HORIZONTAL, bg=self.d["hbgcolor"], troughcolor=self.d["htcolor"]);
vbar=Scrollbar(newTabFrame, orient=VERTICAL, bg=self.d["vbgcolor"], troughcolor=self.d["vtcolor"]);
scroll=Text(self, newTabFrame, font=self.d["font"], undo=True, tabs=("0.4c"), wrap=self.d["wrap"], xscrollcommand=hbar.set, yscrollcommand=vbar.set, bg=self.d["bgcolor"], fg=self.d["fgcolor"], insertbackground=self.d["insertcolor"]);

vbar.grid(row=1, column=2, columnspan=2, rowspan=4, sticky=N+S);
vbar.config(command=scroll.yview);
hbar.grid(sticky=E+W);
hbar.config(command=scroll.xview);

Еще раз, только когда я нажимаю на впадины, где я испытываю проблему. Все остальные функциональные возможности полосы прокрутки (а это большинство из них) работают нормально. Для тех, кто не знает, впадина полосы прокрутки - это длинная часть полосы прокрутки, которая не двигается.

Мои полосы прокрутки прикреплены к текстовым виджетам внутри фреймов, которые находятся внутри ttk.Notebook вкладки виджетов.

1 ответ

Решение

Чтобы ответить прямо на ваш вопрос, нет, в коде полосы прокрутки нет известных ошибок. Этот код используется уже более десяти лет, и никто не сообщал о проблемах с корытом. Это не означает, что ошибка невозможна, но это очень маловероятно. Также не возникает проблем с тем, как вы определили полосу прокрутки или как вы прикрепили ее к текстовому виджету.,

Судя по комментариям к исходному вопросу, в вашем приложении есть некоторые привязки, которые могут мешать поведению полосы прокрутки по умолчанию.

Другие вопросы по тегам