1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- import QtQuick 2.12
- import QtQuick.Controls 2.12
- Switch {
- id: control
- text: qsTr("Switch")
- //background: Rectangle{
- //color: "lightyellow"
- // implicitWidth: 60
- // implicitHeight: 40
- // }
- indicator: Rectangle {
- implicitWidth: 48
- implicitHeight: 26
- x: control.leftPadding
- y: parent.height / 2 - height / 2
- radius: 13
- color: control.checked ? "green" : "#ffffff"
- border.color: control.checked ? "green" : "#cccccc"
- //小圆点
- Rectangle {
- id : smallRect
- width: 26
- height: 26
- radius: 13
- color: control.down ? "#cccccc" : "#ffffff"
- border.color: control.checked ? (control.down ? "#17a81a" : "#21be2b") : "#999999"
- //改变小圆点的位置
- NumberAnimation on x{
- to: smallRect.width
- running: control.checked ? true : false
- duration: 200
- }
- //改变小圆点的位置
- NumberAnimation on x{
- to: 0
- running: control.checked ? false : true
- duration: 200
- }
- }
- }
- //要显示的文本
- contentItem: Text {
- //text: control.checked.toString()
- text: control.text
- font.pixelSize: 13
- font.bold: true
- //鼠标按下时 control.down
- color: control.checked ? "green" : "gray"
- verticalAlignment: Text.AlignVCenter
- anchors.left: indicator.right
- }
- }
|