1

我在 a 中有一些小部件QScrollArea,我在这些小部件之间拖动,问题是QScrollArea当我在其中拖动时不会滚动,所以如果我想在小部件 A 到小部件 B 和小部件 B 之间拖动在视口上不可见,QScrollArea当鼠标移动到视口边缘时不会自动滚动。

4

1 回答 1

3

子类化您的滚动区域,并添加以下功能之一。

http://qt-project.org/doc/qt-4.8/qwidget.html#mousePressEvent

http://qt-project.org/doc/qt-4.8/qwidget.html#dragMoveEvent

http://qt-project.org/doc/qt-4.8/qwidget.html#dragLeaveEvent // 可能只需要这个

dragMoveEvent到达小部件的边缘时,或者发生这种dragLeaveEvent情况时,检测它在哪个边缘,或者在哪个边缘,然后在那个方向滚动你的区域。

希望有帮助。

于 2013-05-09T20:57:07.030 回答