web-dev-qa-db-de.com

QML-Schaltfläche Textfarbe ändern

Ich bin neu in QML und möchte meine Buttons personalisieren. Es gelingt mir, die Hintergrundfarbe und die Randfarbe zu ändern. Es ist mir jedoch nicht gelungen, die Farbe des Schaltflächentextes zu ändern. Ich habe gesehen, dass wir nicht mehr "Stil" verwenden, um den Stil zu ändern, sondern "Hintergrund", und ich verstehe nicht alles darüber.

Danke für Ihre Hilfe.

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"
        }*/
}
7
Lazyos

Nach dem 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
    }
}
5
nAkhmedov

Wenn Sie nur Ihre Textfarbe ändern möchten, können Sie den HTML-Schriftstil in Ihrer Button verwenden. Dadurch wird das Symbol eines anderen Item-Symbols beibehalten:

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

Es gibt eine andere Möglichkeit, wenn Sie QML-Styling verwenden.

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

Der Text dieser Schaltfläche ist in Rot und andere werden der Materialstil-Färbung folgen.

0
Mohammad Rahimi