C

Qt Quick Ultralite styling Example

// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial
import QtQuick 2.15
import QtQuick.Templates 2.15

Button {
    id: control

    implicitWidth: Math.max((background ? background.implicitWidth : 0) + leftInset + rightInset,
                            (contentItem ? contentItem.implicitWidth : 0) + leftPadding + rightPadding)
    implicitHeight: Math.max((background ? background.implicitHeight : 0) + topInset + bottomInset,
                             (contentItem ? contentItem.implicitHeight : 0) + topPadding + bottomPadding)

    leftPadding: 28
    topPadding: 20
    rightPadding: 28
    bottomPadding: 20

    leftInset: 14
    topInset: 14
    rightInset: 14
    bottomInset: 14

    contentItem: Text {
        text: control.text
        color: control.enabled ? "black" : "grey"
        horizontalAlignment: Text.AlignHCenter
        verticalAlignment: Text.AlignVCenter
    }

    background: Rectangle {
        implicitWidth: 136
        implicitHeight: 66
        radius: width/2
        color: control.down ? "white" : "grey"
    }
}