C
Qt Quick Ultralite Motorcycle Cluster Demo
// Copyright (C) 2024 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial import QtQuick 2.0 Rectangle { id: root width: Math.max(text.width + 30 + Math.round(text.width) % 2, 128) height: 42 radius: 21 property alias text: text.text property color textColor property color textColorPrime property alias insideColor: recInside.color property real insideOpacity Behavior on opacity { NumberAnimation { duration: 500 } } function setActive() { activeAniamtion.start() } property bool pushed: false SequentialAnimation { id: activeAniamtion alwaysRunToEnd: true ScriptAction { script: pushed = true } PauseAnimation { duration: 300 } ScriptAction { script: pushed = false } } Rectangle { id: recInside width: root.width - 4 height: 38 radius: 19 Behavior on color { NumberAnimation { duration: 300 } } opacity: pushed ? 1 - insideOpacity : insideOpacity Behavior on opacity { NumberAnimation { duration: 300 } } anchors.centerIn: parent anchors.horizontalCenterOffset: 0 } Text { id: text anchors.centerIn: parent font.pixelSize: 28 font.family: "Barlow-mono" color: pushed ? textColorPrime : textColor } }