QScrollBar Привязать к значению - PullRequest
1 голос
/ 08 марта 2010

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

Мой сценарий отображает 3 главы текста. Я хотел бы иметь возможность перейти к началу или концу главы. Конечно, чтобы перейти к началу первой главы, полосу прокрутки можно просто прокрутить вверх и аналогично с концом третьей главы. Поэтому я хотел бы нарисовать две линии на полосе прокрутки, чтобы представить начало второй и третьей глав, а затем привязать верхнюю и нижнюю части полосы прокрутки к этим линиям. Так что я действительно хочу использовать это в QTextBrowser, но я могу контролировать QTextBrowser с помощью QSnapScrollBar Я просто не знаю, с чего начать.

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 09 марта 2010

Вы можете свернуть свой собственный класс полосы прокрутки, который наследует от QScrollBar или, возможно, QAbstractSlider, и переопределить сигнал valueChanged(int). Несколько базовых псевдокодов:

if currentValue is within 5 of snapvalue1:
    set scrollbar value to snapvalue1
elsif currentValue is within 5 of snapvalue2:
    set scrollbar value to snapvalue2
...

update/redraw widget

Хотя у меня есть ощущение, что это может показаться прерывистым для конечного пользователя.

Вы также можете исследовать свойство pageStep (которое контролирует, как далеко он будет прокручиваться при использовании клавиш Page Up / Down), возможно, оно может использоваться для ваших целей

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