2017-06-22 15 views
0

私はスライダーを持っている:Qtでは、色をPixMapまたはPNGにアルファブレンドし、それをスライダの背景イメージとして使用する方法はありますか?

QSlider *mySlider; 

は、私はそれを特定の外観を与えたいと思ったので、私はグラフィックを追加しました:

mySlider->setStyleSheet("QSlider::groove:horizontal {background-image:url(:/main/graphics/mySlider_Background.png);}" 
       "QSlider::handle:horizontal {background-image:url(:/main/graphics/mySlider_Handle.png); height:21px; width: 21px;}"); 

、それはこのようになります(黒は、フォームの背景色です)(ハッチパターンmySlider_Background.pngに実際にある)

enter image description here

私は何とかしてバックグラウンドに色をアルファブレンドしたいと思います。

私は、アルファマスク(おそらくPixMap?)を作成して、アルファマスクpixmap(?)と単一の色を混ぜ合わせて、その結果をスライダの背景として設定する必要があると私に思います。

スタイルシートの外側でスライダーの背景を設定する方法がわかりません。 Doing something with a QStyle might be the way to goですが、スタイルのどの部分を編集しなければならないか正確に分かっていることは、文書化されていないようです。

答えて

0

あなたはqlineargradientbackground QSSプロパティを使用することができます。

background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #B1B1B1, stop:1 #c4c4c4); 

Customizing QSlider

上のドキュメントを参照してください。
関連する問題