依附於Flickable組件的滾動軸
自動放置在恰當位置
拖動時顯示,不動時消失
Lisence: MIT 請保留此聲明
Author: surfsky.cnblogs.com 2014-12spa
【先看效果】.net
【下載】code
http://download.csdn.net/detail/surfsky/8426563blog
【核心代碼】ci
1 ScrollBar { 2 id: root 3 opacity: 0 4 orientation: Qt.Vertical 5 6 // 綁定到Flickable組件 7 property Flickable target : Flickable{} 8 9 // 位置 10 width: orientation==Qt.Vertical ? 10 : target.width-10 11 height: orientation==Qt.Vertical ? target.height-10 : 10 12 anchors.right: orientation==Qt.Vertical ? target.right : undefined 13 anchors.bottom: orientation==Qt.Vertical ? undefined : target.bottom 14 15 // 滾動 16 position: orientation==Qt.Vertical ? target.visibleArea.yPosition : target.visibleArea.xPosition 17 pageSize: orientation==Qt.Vertical ? target.visibleArea.heightRatio : target.visibleArea.widthRatio 18 19 20 // 移動時顯隱滾動軸 21 Connections{ 22 target: root.target 23 onMovingVerticallyChanged: { 24 if (target.movingVertically) 25 fadeIn.start(); 26 else 27 fadeOut.start(); 28 } 29 onMovingHorizontallyChanged: { 30 if (target.movingHorizontally) 31 fadeIn.start(); 32 else 33 fadeOut.start(); 34 } 35 } 36 NumberAnimation { id:fadeIn; target: root; properties: "opacity"; duration: 400; from:0; to:1 } 37 NumberAnimation { id:fadeOut; target: root; properties: "opacity"; duration: 400; from:1; to:0 } 38 }
【調用示例】get
1 FlickableScrollBar { 2 target: view 3 orientation: Qt.Vertical 4 }