2010-12-14 27 views
0

我有一個GUI應用程序,您可以在QGraphicsView/Scene中拖動小部件。您還可以在不拖動小部件的同時進行平移和縮放。QTimer與QDragEvent問題

我想要什麼: 我想讓它這樣即使鼠標不動,當你拖動靠近屏幕,它開始朝這個方向平移邊緣的項目,並不斷平移,但鼠標仍然需要位於屏幕的上/左/右或底部10%。

我試過的東西: 在dragMoveEvent裏面我檢查鼠標是否在屏幕的邊緣。如果是這樣,我啓動一個15毫秒超時的Qtimer。超時時,通過更新中心,可以對功能進行切槽,從而以正確的方向平移場景。這種方法是有效的,但是當我將鼠標仍然放在邊上時,平移不穩定,如果鼠標在邊緣內移動,那麼平移應該是平滑的。

底線: 爲什麼當鼠標沒有移動時,平移只是波濤洶涌/遲緩?我如何修復它,以便在您將鼠標移動到邊緣內時像平滑一樣平滑?

回答

0

當您增加/減少超時時會發生什麼?

+0

滯後,因爲當超時時間更短時更明顯,超時時間更短時更不明顯 – Simon17 2010-12-16 18:07:22