滚动时的滚动条事件?

10 投票
2 回答
4979 浏览
提问于 2025-04-16 23:35

我需要一个事件来检测用户是否把滚动条的位置移动到了其他地方。

换句话说,如果用户上下滚动,能不能捕捉到一个信号,这样我就知道滚动条的位置发生了变化?

我觉得这不是特别重要,但我提到的滚动条是在一个 QGraphicsView 里面。

谢谢。

编辑:

QGraphicsView 是用来在屏幕上显示物品的,如果这些物品太大,就会出现我提到的滚动条。我需要知道用户什么时候改变了这些滚动条的位置。

2 个回答

0

如果你想在滚动条位置改变时收到通知,你需要创建一个新的类,继承自 QGraphicsView,并重新实现 QWidget::mouseMoveEvent(QMouseEvent*) 这个方法。为了做到这一点,你还需要开启鼠标追踪功能。这里有 Qt 4.7 的 QGraphicsView 参考资料。

7

滑块有一个叫做 sliderMoved(int value) 的信号,这里的 value 是滑块的新位置。

撰写回答