2017-08-23 7 views
1

QSSを使用してQtで「複雑な」ボタンスタイリングをしようとしていますが、解決できない問題に直面しています。私はグラデーションをしたいQPSを使用したQPushButtonの丸みを帯びたグラデーション境界

は、右側に左側に青から赤に行く例えば、境界線を丸め:

結果はそう

を望んでいた、ここではスタイルシートがありますQPushButtonに適用:

background: 
    white; 
border-radius: 
    30px; 
border-style: 
    solid; 
border-width: 
    10px; 
border-color: 
    qlineargradient(x1:0, y1:0, x2:1, y2:0, stop: 0 blue, stop: 1 red) 
    red 
    qlineargradient(x1:0, y1:0, x2:1, y2:0, stop: 0 blue, stop: 1 red) 
    blue; 

これが結果です。

かなり醜い、右?

+0

を参照してください。グラデーションはボーダ自体から独立してボーダの半径部分に対して計算されるようです。そして、この半径部分は各境界の角の半分です。 – ymoreau

+0

これはポイントです、私は半径が必要です;) – aRaMinet

答えて

0

私は少し検索して2つの方法を見ましたが、2番目の方法ではボーダー半径に対応していないボーダー画像が使用されていますので、beforeと:afterを処理する必要があります。

ちょうどあなたのカミロ・マーティンからの回答をリンクする:

あなたは、半径を削除するときには、正常に動作します答えhere

+0

悲しいことに、 ":after"キーワードはQtスタイルシートではアクセスできません。長方形とボタンを積み重ねるウィジェットを効果的に作成できますが、その場合はスタイルシートの柔軟性が失われます。 – aRaMinet

関連する問題