天天看點

Qml中MouseArea的DragDrop行為異常

開頭不能縮兩個字元?

在修改以前寫的代碼時,發現之前正常使用的MouseArea拖拽功能(設定Drag.dragType: Drag.Automatic)出問題了,表現為:在按住拖動時,拖動的對象沒有動,但是在松手後,再移動滑鼠,拖動的對象就跟着動了,然後再點選一下,物體就被放到點選時的位置。

關于這個這個問題,我這邊經過反複的對比查找(一開始以為是qml檔案那邊我改了什麼東西,反複測試檢查了幾個小時,但是都沒有發現明顯的問題),終于發現是因為設定了QQuickView的窗體屬性引起了Drag的行為異常。

//這樣子設定會導緻控件的拖拽出現問題
//    qView.setFlags(Qt::WindowTitleHint |
//                   Qt::CustomizeWindowHint |
//                   Qt::WindowMinMaxButtonsHint);

    qView.setFlags(Qt::Window |
                   Qt::WindowTitleHint |
                   Qt::CustomizeWindowHint |
                   Qt::WindowMinMaxButtonsHint);
           

至于為什麼修改了上面的屬性後就會出現異常,目前我也不知道,有知道的同學假如友善的話,請留言告訴一下,謝謝。