QML自定義可填充顏色的滑塊

2021-09-26 15:54:46 字數 797 閱讀 8922

qml自定義可填充顏色的滑塊

使用qml自定義一種滑塊,可以通過滑動,填充滑動槽的顏色。

如圖所示的一種效果:

自定義這種滑塊,需要先定義4個rectangle元素,分別作為面板、滑動槽,滑動按鈕及顏色填充使用。

1、先定義面板,可設定寬高,也可通過image元素設定面板的背景。

2、在面板上定義滑動槽,可以設定radius使滑動槽有圓弧的效果,通過設定

anchors.centerin:parent,來使滑動槽在面板中居中。

3、定義滑動按鈕,可以定義成圓形或方形,也可通過image元素設定背景。

滑動按鈕需要滑動,要在滑動槽中滑動,可通過滑鼠事件,drag來實現。

drag.axis:設定拖拽方向,可以是x方向,y方向,xandy方向(drag.xaxis/drag.yaxis

/drag.xandyaxis)。

4、定義滑動的顏色填充。

定義乙個rectangle,設定它的寬或者高,繫結到滑塊按鈕移動的距離上,滑塊移動的距離,可以通過滑動槽的位置與滑動按鈕的位置來計算出來。

比較關鍵的一點是要通過設定z值,使滑動按鈕要在顏色填充元素的上面。

示例**如下:

import qtquick 2.0

rectangle

//定義面板背景

rectangle

mousearea    //滑鼠拖拽事件,從上往下拖拽,最大值應該是滑動槽的高-滑動按鈕的高

}rectangle

//顏色填充元素,位於滑動按鈕的下面,高度隨著移動距離兒變化,就形成了一種顏色填充的效果。}}

qml 自定義訊息框 Qml自定義元件的使用

component是可重用的 封裝的 具有定義良好的介面的qml型別。元件通常由元件檔案定義,即.qml檔案。元件型別本質上允許在qml檔案中內聯定義qml元件,而不是作為單獨的qml檔案。這對於在qml檔案中重用小組件或定義邏輯上屬於檔案中其它qml元件的元件可能很有用。1.在單獨檔案中定義com...

Qml 自定義面板控制項,支援顏色的方式換膚

關注我部落格的同學,一直覺得我在提供的 中,有很多自定義的控制項,導致 沒得辦法直接被使用。之所以沒有在之前的部落格裡面沒有把哪些自定義的 提供出來,是因為我這邊一直還沒有整理完成,也沒有按照我想要的框架搭建完成。今天我將這 控制項終於基本修改完成,只是每個控制項展示dome還沒有建立完成。但是我會...

QML自定義模態視窗

最近接手的新客戶端專案是用qml做的介面。既然是客戶端,就需要用到各種彈窗,自然少不了自定義各種樣式的彈窗。模態視窗是最常用的彈窗之一,以下是我自定義的兩種模態視窗實現。第一種是基於window,第二種三基於rectangle,而我的專案 中不知道什麼原因大部分都是用了rectangle實現。基於w...