Изменение цвета текста для элементов управления QML

Я использую некоторые элементы управления QML как GroupBox и CheckBox, которые имеют текст, связанный с ними. Цвет текста по умолчанию-черный. Однако у меня есть эти элементы на темном фоне и я бы предпочел использовать белый цвет для цвета текста. Эти элементы не имеют свойства цвета, поэтому я не уверен, что делать.

CheckBox {
    text: "Check Me"
}

3 ответов


вам нужно использовать style свойство переопределить Component использовать для метки на основании CheckBoxStyle

import QtQuick 2.1
import QtQuick.Controls 1.0
import QtQuick.Controls.Styles 1.0

Rectangle {
    color: "black"
    CheckBox {
        style: CheckBoxStyle {
            label: Text {
                color: "white"
                text: "check Me"
            }
        }
    }
}

при использовании CheckBoxStyle возможно, вам придется переопределить весь компонент, а не только свойство label.


вы пытались установить его как весь подэлемент флажка?

CheckBox {

    Text {
        text: "Check Me"
        color: "red"
    }
}

У меня была такая же проблема с GroupBox, поэтому я хотел опубликовать ответ для дальнейшего использования. Проблема может быть легко исправлена с помощью форматирования HTML. Например, чтобы изменить цвет:

GroupBox{ 
    title: "<font color=\"white\">my title</font>"
}

размер и другие параметры форматирования можно изменить таким же образом.