web-dev-qa-db-ja.com

QMLボタンのテキストの色を変更

QMLは初めてなので、ボタンをパーソナライズしたいと思います。背景の色とボーダーの色を変更することに成功しました。しかし、ボタンのテキストの色を変更することはまったくできません。私たちはスタイルを変更するために「スタイル」をもう使用していませんが、「背景」を使用していて、それについてすべてを理解していません。

ご協力いただきありがとうございます。

Button {
        id: buttonAC
        text: qsTr("AC")
        Layout.fillHeight: true
        Layout.fillWidth: true

        background: Rectangle {
            border.color: "#14191D"
            color: "#24292f"
            // I want to change text color next
        }

        /*Text {
            text: qsTr("AC")
            color: "#F54035"
        }*/
}
9
Lazyos

doc によると

import QtQuick 2.6
import QtQuick.Controls 2.1

Button {
    id: control
    text: qsTr("Button")

    contentItem: Text {
        text: control.text
        font: control.font
        opacity: enabled ? 1.0 : 0.3
        color: control.down ? "#17a81a" : "#21be2b"
        horizontalAlignment: Text.AlignHCenter
        verticalAlignment: Text.AlignVCenter
        elide: Text.ElideRight
    }

    background: Rectangle {
        implicitWidth: 100
        implicitHeight: 40
        opacity: enabled ? 1 : 0.3
        border.color: control.down ? "#17a81a" : "#21be2b"
        border.width: 1
        radius: 2
    }
}
8
nAkhmedov

テキストの色を変更するだけの場合は、ButtonでHTMLフォントスタイルを使用することをお勧めします。これにより、他のItemのようなボタンアイコンが保持されます。

Button
{
    //...
    text: "<font color='#fefefe'>" + moudle + "</font>"
    font.family: "Arial"
    font.pointSize: 24
    //...
}
3
Crawl.W

QMLスタイリングを使用している場合、別の方法があります。

Button {
    id: goToParenFolder
    text: "Hi"
    flat: true
    Material.foreground: "red"
}

このボタンのテキストは赤で表示され、他のボタンはマテリアルスタイルのカラーリングに従います。

0
Mohammad Rahimi