更改主窗口背景时,QComboBox变得丑陋

时间:2015-07-29 06:35:31

标签: qt qcombobox qstylesheet

更改前:

enter image description here

将父窗口小部件styleSheet属性更改为:

background-color: rgb(5, 34, 78);

我明白这一点:

enter image description here

QComboBox变得非常不同。怎么了?如何在深色背景上使用常规QComboBox?

我在没有QML的情况下使用Qt 5.5。

2 个答案:

答案 0 :(得分:2)

您只需将其设置为主窗口

yourWindow->setStyleSheet("{background-color: #HexNumber}");

或告诉QComboBox没有样式: yourWindow->setStyleSheet("QComboBox{background-color:none}");

yourWindow->setStyleSheet("QComboBox#ComboName{background-color:none}");

答案 1 :(得分:1)

根据manual

  

当样式表处于活动状态时,QWidget :: style()返回QStyle   是一种包装“样式表”样式,而不是特定于平台的样式。该   包装器样式确保遵守任何活动样式表   否则将绘图操作转发给底层,   特定于平台的样式(例如,Windows XP上的QWindowsXPStyle)。

如果您只想更改某些颜色,保持所选样式不变,则更好的解决方案是使用QPalette