2013-08-27 19 views
6

QML controls gibi GroupBox ve onlarla ilişkili metin içeren CheckBox kullanıyorum. Metnin varsayılan rengi siyahtır. Ancak, karanlık bir arka plan üzerinde bu öğeler var ve metin rengi için beyaz kullanmayı tercih ederim. Bu öğeler bir renk özelliği yok, bu yüzden ne yapacağımı bilmiyorum.QML denetimleri için metin rengini değiştir

CheckBox { 
    text: "Check Me" 
} 

cevap

3

Sen bütün bileşenini yeniden tanımlamak zorunda ve sadece etiket olabilir CheckBoxStyle kullanırken 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" 
      } 
     } 
    } 
} 

dayalı etiket için kullanmak Component yeniden tanımlamak için style özelliğini kullanmak gerekir özelliği.

+0

Maalesef, bu işe yaramıyor gibi görünüyor. CheckBoxStyle, bulamadığı gibi altını çizdi ve ithalatı sağladım (ancak iyi derler). Değişen tek şey şu anda onay kutusu etiketini göremiyorum. – roundtheworld

+0

Sadece Qt Creator 2.8.1 sürümüne geçtim ve CheckBoxStyle artık altı çizili değilken, metin hala beyaz görünmüyor. Ayrıca, yukarıdaki kodla birçok stil öğesi kaybettiğimi fark ettim. Onay kutusu, tıklandığında gerçek bir kontrolün tersine gri bir kareye sahip. – roundtheworld

+1

@ user1595510 Yanıtın metnini etiket bileşenine taşıyarak güncelledim. Dün denemek için Qt'm yoktu. Qt (5.1.0) sürümünde metni beyaz – koopajah

2

Onay kutusunun tüm alt öğesi olarak ayarlamayı denediniz mi?

CheckBox { 

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

GroupBox ile aynı sorunu yaşadım, bu yüzden ileride başvurmak üzere bir yanıt göndermek istedim. Sorun, HTML biçimlendirme kullanılarak kolayca düzeltilebilir. örnek rengini değiştirmek için için:

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

Boyut ve diğer biçimlendirme parametreleri aynı şekilde değiştirilebilir.

İlgili konular