2013-08-27 29 views
6

Używam niektórych QML controls takich jak GroupBox i , które zawierają tekst z nimi powiązany. Domyślny kolor tekstu jest czarny. Mam jednak te elementy na ciemnym tle i wolałbym używać koloru białego dla koloru tekstu. Te elementy nie mają właściwości koloru, więc nie jestem pewien, co robić.Zmiana koloru tekstu dla formantów QML

Odpowiedz

3

Musisz użyć właściwości style przedefiniować Component do wykorzystania na etykiecie na podstawie 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" 
      } 
     } 
    } 
} 

Podczas korzystania CheckBoxStyle może trzeba przedefiniować cały komponent i nie tylko etykieta własność.

+0

Niestety, to nie działa. CheckBoxStyle jest podkreślone, ponieważ nie może go znaleźć, a ja zapewniłem import (ale kompiluje się dobrze). Jedyną rzeczą, która się zmieniła, jest to, że w ogóle nie widzę etykiety pola wyboru. – roundtheworld

+0

Właśnie zaktualizowałem program Qt Creator 2.8.1 i gdy pole CheckBoxStyle nie jest już podkreślone, tekst nadal nie jest biały. Zauważyłem też, że straciłem wiele innych elementów stylu z powyższym kodem. Pole wyboru ma teraz szary kwadrat w przeciwieństwie do faktycznego czeku po kliknięciu. – roundtheworld

+1

@ user1595510 Zaktualizowałem swoją odpowiedź, przenosząc właściwość text w składniku etykiety. Nie miałem Qt, aby spróbować tego wczoraj. Na mojej wersji Qt (5.1.0) ustawia tekst jako biały – koopajah

2

Czy próbowałeś ustawić go jako cały podelement w polu wyboru?

CheckBox { 

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

Miałem ten sam problem z GroupBox, więc chciałem opublikować odpowiedź na przyszłość. Problem można łatwo naprawić za pomocą formatowania HTML. Na przykład, aby zmienić kolor:

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

Rozmiar i inne parametry formatowania można zmienić w ten sam sposób.