日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

QML控件拖动并靠边停留

發布時間:2025/1/21 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 QML控件拖动并靠边停留 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

用QML做控件拖動,當鼠標按下要拖動的按鈕然后移動鼠標,控件坐標會隨著鼠標而移動,釋放鼠標后判斷當前的控件位置,然后選擇要停留在父窗口的左邊還是右邊,再通過動畫將控件移動到邊上。這種場景在做工具欄懸浮按鈕的時候比較常見。

正文

實現方式很簡單,通過Drag類來實現,并且參考了Qt幫助文檔中的示例。
直接上代碼吧

import QtQuick 2.6Item {id:rootwidth: 500; height: 400Rectangle {id:rectx: 10; y: 10width: 50; height: 50color: "red"NumberAnimation on x{id:aniduration: 400easing.type: Easing.OutCubic}Drag.active: dragArea.drag.activeMouseArea {id: dragAreaanchors.fill: parentdrag.target: parentdrag.maximumY:root.height-rect.heightdrag.minimumY: 0onPositionChanged: {console.log("x",mouseX,"y",mouseY,rect.x,rect.y)}onReleased: {if(rect.x > root.width/2.){ani.to = root.width - rect.widthani.start()}else{ani.to = 0ani.start()}}}}}

來看看效果圖

總結

以上是生活随笔為你收集整理的QML控件拖动并靠边停留的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。