2013-03-22 5 views
1

QtDesigner 및 ui 파일로 Qt HMI를 만들었습니다. 내 QComboBox 디자이너와 실시간으로 동일한 배경 색상을 가지고 있지 않습니다QComboBox 배경색

디자이너 :

enter image description here

실생활 :

enter image description here

나는 윈도우 7에서입니다. 어쩌면 그것은 OS에 의존하지만 나는 흰 배경을 갖고 싶습니다.

내가 시도 :

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

뿐만 아니라 오른쪽 화살표를 그린다.

설명이 있으십니까?

답변

-1

QPalette::BaseQComboBox의 배경을 변경하지 않습니다.

QPalette palette = ui->combo->palette(); 
palette.setColor(QPalette::Active, QPalette::Button, Qt::white); 
palette.setColor(QPalette::Inactive, QPalette::Button, Qt::white); 
ui->combo->setPalette(palette); 

을하며 작동하는 것 같다 :

대신 내가 사용했습니다.

0

콤보는 비어 있습니까?

일부 요소를 추가하고 "app"을 실행하기 전에 그 중 하나를 선택하십시오.

+0

아니요 빈 태그가 없습니다. 여기에는 요소가 포함되어 있습니다. – Maxbester

0

QPalette :: Base를 흰색으로 변경해 보셨습니까? 스타일 시트를 사용하지 않고도이 작업을 수행 할 수 있습니다.

QComboBox box = new QComboBox(); 
QPalette p = box.palette(); 

p.setColor(QPalette::Active, QPalette::Base, Qt::white); 
p.setColor(QPalette::Inactive, QPalette::Base, Qt::white); 

box.setPalette(p); 
+0

아니요 아직 시도하지 않았습니다. 하지만 Qt Designer에서 직접 변경하는 것이 더 쉽습니다. HMI가 cpp 파일에서 수정되면 ui 파일을 갖는 것은 무엇입니까? – Maxbester