2012-05-14 2 views
1

내 Qt는 버전 4.7.1이고 나는 QLineEdit 창 색상과 동일한의 배경색을 설정하려면, 나는이 방법을 사용Qt Gui 응용 프로그램에서 대화 상자 배경색 (창 색상)을 얻는 방법은 무엇입니까?

QString bgColorName = palette().color(QPalette::Normal, QPalette::Window).name(); 
QString strStyleSheet = QString("QLineEdit {background-color: ").append(bgColorName).append("}"); 
ui->lineEdit->setStyleSheet(strStyleSheet); 

내가 배경색 이름을 얻기 위해 노력하고 설정 그러나 QLineEdit의 스타일 시트는 응용 프로그램을 실행 한 후 QLineEdit의 색상이 약간 다르다는 것을 발견했습니다. 즉,주의 깊게 보면 Win7과 Mac에서 차이점을 볼 수 있습니다. 누구든지 대화 상자의 배경색을 올바르게 찾을 수있는 방법을 찾도록 도와 줄 수 있습니까? 미리 감사드립니다.

+1

QString : 그런데

, 당신은 당신의 QLineEdit의 배경과 같은 투명 사용하여 스타일 시트를 만들 수 있습니다 :: arg()'. – Anthony

답변

1

게시 한 코드가 실제로 작동합니다 (Windows 7 사용). Photoshop과 같은 이미지 편집기로 라인 편집의 배경이 대화 상자와 다르다는 것을 확인 했습니까? 때로는 마음이 트릭을하고 배경색이 실제로 국경에 따라 다르다고 생각할 수 있습니다. 대신`처럼`체크 아웃) (`QString :: APPEND를 사용하는 BTW

QLineEdit le("Line Edit with transparent BG"); 
le.setStyleSheet("background:transparent;"); 
+0

대단히 감사합니다. Win XP에서 색상이 동일하다는 것을 다시 한 번 확인했습니다. 반면에 Win XP에서는 조금 다릅니다. 어쨌든 투명하게 배경을 설정할 수 있습니다. – Royt