2011-09-16 13 views
0

Qt4のQMdiAreaウィジェットのバックグラウンドQBrushをシステムカラーのグラデーションに設定しようとしています。私が間違っているのは何grad.setColorAt(1, pal.window().color());QMdiAreaウィジェットのバックグラウンドQBrushをシステムカラーのグラデーションに設定するにはどうすればいいですか?

で1セット、

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

関連する問題