我在QScrollArea
中有一些小部件,我在这些小部件之间拖动,问题是当我拖动它时QScrollArea
不会滚动,所以如果我想要在窗口小部件A和窗口小部件B之间拖动,窗口小部件B在视口上不可见,当鼠标移动到视口边缘时,QScrollArea
不会自动滚动。
答案 0 :(得分: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
发生时,检测它是哪个边缘,或者离开,然后沿该方向滚动您的区域。
希望有所帮助。