2011-08-08 54 views
0

QPushButtonで重なり合ったグラデーションを使用して背景色を設定することが可能であるかどうかを知る必要があります。 SVGイメージをアイコンとして丸ボタンを作成しました。これは感嘆符と白い枠線を示す白いイメージです。ボタンの背景を黒にする必要があり、切り替えたときに黒い背景に放射状のグラデーションを表示する必要があります。私が持っている状況は、今ちょうど勾配と黒の背景を置き換えます。QPushButtonの背景に色とグラデーションの両方を適用する

enter image description here

次のように私が使用してスタイルシートは次のとおりです。

ので
QPushButton{ 
    background: black; 
    border-radius: 25; 
    border-color: gray; 
} 

#alertButton::checked{ 
    background-color: qradialgradient(cx: 0.5, cy: 0.5, radius: 2, fx: 0.5, fy: 1, stop: 0 rgba(255,30,30,255), stop: 0.2 rgba(255,30,30,144), stop: 0.4 rgba(255,30,30,32)); 
} 

、上の勾配を配置することが可能です黒の背景、代わりにそれを置き換える?可能であれば、スタイルシートでこれを行います。

答えて

2

グラデーションをグラデーションの色から背景色に合わせるだけで、同じ効果を得ることができます。赤から白へ行くのではなく、赤から黒へ。

+0

これが最善の選択肢かもしれませんが、私は同意します。しかし、主な疑問は、それが可能であった場合はむしろ、私が疑問を持ち始めたことでした。 – ThaMe90

+0

2人は本当に相互に排他的です。私はあなたが望むこの "フィーチャー"の利得が何であるか分かりません。グラデーションの色にアルファ値を付けることができる場合は、それを取り除くことができますが、それでも意味をなさないでしょう(この場合、背景が単色でない場合は意味があります)。 – rubenvb

+0

私の目標は、デフォルトの黒い背景をそのタイプのすべてのボタンの一般的なレイアウトにすることでした。グラデーションは、ボタンの機能によって異なります。私はレイアウトを一般化しようとしていました。しかし、明らかに、これは不可能です。 – ThaMe90

0

QAbstractButtonをサブクラス化し、Painter関数をオーバーライドして黒い背景を描画してみます。

+0

できるだけシンプルにすることが目的であるので、私はむしろそれをやりたいと思います。これは、主に標準コンポーネントに依存していることを意味します。しかし、それは良い解決策になります。たぶん、絶対に必要な場合は、私はそれをやるでしょう。 – ThaMe90

関連する問題