2016-04-17 13 views
0

Ich benutze QT (aktuell-5.6.0 msvc 64-Bit) und möchte das ComboBox als weiß angezeigt werden, aber es scheint nicht korrekt angezeigt, um zu gewinnen 7.Hintergrundfarbe von QComboBox ändert sich nicht ordnungsgemäß auf Windows 7

ich habe eine oder mehrere Kombinationen der folgenden versucht:

QPalette p = ui.comboBox->palette(); 
    p.setColor(QPalette::Active, QPalette::Button, Qt::white); 
    p.setColor(QPalette::Inactive, QPalette::Button, Qt::white); 
    p.setColor(QPalette::Active, QPalette::Background, Qt::white); 
    p.setColor(QPalette::Active, QPalette::Base, Qt::white); 
    p.setColor(QPalette::Inactive, QPalette::Background, Qt::white); 
    p.setColor(QPalette::Inactive, QPalette::Base, Qt::white); 
    p.setColor(ui.comboBox->backgroundRole(), Qt::white); 
    ui.comboBox->setPalette(p) 

Aber keiner von ihnen tun zumindest auf Sieg die Anzeige ändern 7. ich habe auch versucht, dies:

ui.comboBox->setStyleSheet("QComboBox { background-color: white; }"); 

Aber die Display wurde das: enter image description here

Obwohl es weiß ist, hat der Abwärtszeiger ein graues Kästchen. Ich möchte es so: enter image description here

Edit: Ich dies versucht haben:

ui.comboBox->setStyleSheet("QComboBox { background-color: white; } QComboBox::drop-down { background-color: white; }"); 

aber Pfeil nach unten ist nicht gezeigt. Wie man Farbe ändert, während noch der Pfeil angezeigt wird?

Irgendwelche Lösungen, Vorschläge oder Ideen? Vielen Dank.

Antwort

0

Nun, im Moment habe ich eine Lösung gefunden. obwohl es möglicherweise nicht das beste ist, funktioniert das Hinzufügen eines benutzerdefinierten Pfeils nach unten (schwarzer Pfeil auf weißem Hintergrund) und verwenden Sie es mit Stylesheet wie folgt:

Verwandte Themen