2011-09-16 3 views
0

Qt4의 QMdiArea 위젯의 백그라운드 QBrush를 시스템 색상 그라디언트로 설정하려고합니다. 내가 잘못 뭐하는 거지 grad.setColorAt(1, pal.window().color());QMdiArea 위젯의 백그라운드 QBrush를 시스템 색상 그라디언트로 설정하는 방법은 무엇입니까?

와 한 세트,

QPrios::QPrios(int &argc, char **argv): QApplication(argc, argv) 
{ 
     // ... 
     QPalette pal = this->palette(); 
     QLinearGradient grad; 
     grad.setColorAt(0, pal.text().color()); 
     grad.setColorAt(1, pal.window().color()); 
     _mdi->setBackground(QBrush(grad)); 
     // ... 
} 

무엇 발생하는 배경이 바로 단색 될 것입니다 :

여기에 내가 가진 몇 가지 코드가 지금입니까?

답변

3

그래디언트의 좌표 모드를 설정하십시오. 그라디언트를 원한다면 생성자에서 그라데이션의 시작점과 중단 점을 설정할 수도 있습니다.

QLinearGradient grad(QPointF(0, 0), QPointF(0, 1)); 
grad.setCoordinateMode(QGradient::ObjectBoundingMode); 
grad.setColorAt(0, pal.text().color()); 
grad.setColorAt(1, pal.window().color()); 
+0

그래, 그게 다야! 고마워, Qt에 익숙하지 않은데도 여전히 마음에 들었다. – Jehjoa