Sto provando a disegnare una casella combinata in QT5. Sto usando QT Creator per il layout e il caricamento di un foglio di stile a livello di app all'avvio.QComboBox colore del testo non cambierà con il foglio di stile
Il css ho raccontato alla mia casella combinata è la seguente:
QComboBox
{
color:white;
background-color: qlineargradient(x1:0, y1:0, x2:1,y2:1, stop: 1 rgba(228, 41, 81, 100), stop: 0 rgba(234, 107, 101, 100));
border-color: rgba(255,255,255,200);
border-width: 1px;
border-style: solid;
}
QComboBox QListView
{
border-style: none;
background-color: qlineargradient(x1:0, y1:0, x2:1,y2:0, stop: 1 rgba(228, 41, 81, 100), stop: 0 rgba(234, 107, 101, 100));
}
QComboBox::drop-down
{
width: 20px;
border: 1px;
border-color:white;
border-left-style:solid;
border-top-style: none;
border-bottom-style: none;
border-right-style: none;
}
QComboBox::down-arrow
{
image: url(:/ArrowImages/images/whitearrowdown16.png);
width: 16px;
height: 16px;
}
Ma il colore del testo nelle remainds casella combinata come il colore (nero) di default. Il colore nel menu a discesa è bianco. Il colore e lo stile del bordo funzionano tutti correttamente. L'etichetta sulla casella combinata è una specie di sottocontrollo che devo applicare separatamente? O mi manca qualcos'altro?
Grazie.
Edit:
screenshot aggiunto per chiarezza
Edit 2: Sembra che questo si verifica solo quando la casella combinata è impostato per non essere modificabile (che è il comportamento corretto per il mio programma, quindi non mi aiuta veramente.) Quando la casella combinata è impostata su modificabile, obbedisce agli stili correttamente. Ho provato ad aggiungere
QCombobox:!editable
{
color:white;
}
ma non risolve il problema.
Se si caricano fogli di stile da un file, è possibile che in seguito sia stato caricato un altro foglio di stile nell'applicazione che sovrascrive quello stile specifico? Potresti provare a utilizzare 'QComboBox # YOUR_SPECIFIC_COMBO_BOX_NAME {color: white; } ' – TWE