我想要实现一个可以捕捉到特定值的滚动条(比如窗口可以捕捉到屏幕的边缘)。我的想法是,当我向下拖动滚动条时,它会在接近它时将条形图捕捉到值。
我的方案显示了3章文字。我希望能够捕捉到章节的开头或结尾。当然,要转到第一章的开头,滚动条可以滚动到顶部,同样可以滚动到第三章的末尾。因此,我想在滚动条上绘制两行来表示第二章和第三章的开头,然后让滚动条的顶部和底部对齐这些行。所以我真的想在QTextBrowser
中使用它,但我可以用QTextBrowser
来控制QSnapScrollBar
我只是不知道从哪里开始。
非常感谢任何帮助。
答案 0 :(得分:0)
您可以滚动自己的自定义滚动条类,该类继承自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键时滚动的距离),也许可用于实现您的目的