我有一个GUI应用程序,您可以在QGraphicsView / Scene中拖动小部件。您也可以在不拖动窗口小部件时进行平移和缩放。
我想要的是什么: 我想这样做,以便当您拖动屏幕边缘附近的项目时它开始朝那个方向平移并且即使鼠标没有移动也继续平移,但鼠标仍然需要在顶部/左/右或底部10%的屏幕。
我尝试了什么: 在dragMoveEvent中,我检查鼠标是否在屏幕的边缘。如果是这样,我启动一个15毫秒超时的Qtimer。在超时时,通过更新中心,插入一个功能以向右方向平移场景。这种方法可行,但是当我将鼠标留在边缘时,平移是不稳定的,如果鼠标在边缘内移动,那么平移应该是平滑的。
底线: 当鼠标不移动时,为什么摇摄只会出现波动/滞后?如何修复它以便平移像平移边缘内的平移一样平滑?
答案 0 :(得分:0)
增加/减少超时时会发生什么?