2017-08-23 2 views
1

Ich versuche, einige "komplexe" Button-Styling mit Qt, mit QSS, aber ich habe ein Problem, das ich nicht lösen kann. So QPushButton gerundet Farbverlauf Grenze mit QSS

, hier ist das Stylesheet

Ergebnis

wollte:

ich eine Steigung gerundet Grenze tun will, zum Beispiel auf der rechten Seite zu rot von blau auf der linken Seite gehen angewendet auf einen 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; 

Und hier ist das Ergebnis.

ziemlich hässlich, nicht wahr?

+0

Es funktioniert gut, wenn man den Radius entfernen. Es scheint, als ob der Gradient für den Radius-Teil der Grenze unabhängig von der Grenze selbst berechnet wird. Und dieser Radius-Teil ist die Hälfte der Ecke für jeden Rand. – ymoreau

+0

Das ist der Punkt, ich brauche einen Radius;) – aRaMinet

Antwort

0

Ich suchte ein wenig und ich sah zwei Möglichkeiten, aber die zweite verwendet Border-Bild, das nicht mit Border Radius kompatibel ist, so müssen Sie damit umgehen: vor und nach.

nur Sie die Antwort von Camilo martin verknüpfen:

Siehe Antwort here

+0

Leider ist ": nach" Schlüsselwort nicht mit Qt Stylesheets zugänglich. Ich könnte effektiv ein Widget erstellen, das ein Rechteck und meine Schaltfläche stapelt, aber in diesem Fall werde ich die Flexibilität des Stylesheets verlieren. – aRaMinet