gradient QML ne permet que de haut en bas dans un rectangle. Documentation dit que Il faut faire par la combinaison de rotation et de coupure.
Je viens de commencer à apprendre à apprendre qml (et peu d'expérience avec HTML / CSS). Voici mon code que je pense peut être amélioré pour beaucoup mieux: p> Pouvez-vous suggérer quels sont les meilleurs moyens de faire cela? P> p >
4 Réponses :
Je crains que la documentation soit correcte. Le seul autre moyen que je puisse penser, c'est écrire un composant QML personnalisé en C ++, ce que vous voulez. P>
Si vous avez des connaissances QT / C ++, vous pouvez commencer ici: P>
Le rectangle peut être un bon modèle ou classe de base: p>
J'ai résoudre ce problème avec le code suivant: https://code.google.com/p/ytd-meego/source/browse/trunk/playground/feedbook/qmltube/horizontalgradient.qml?r=144
Voici ce que j'ai fait en utilisant l'exemple de NielsMayer: P>
Rectangle { width: parent.height height: parent.width anchors.centerIn: parent rotation: 90 gradient: Gradient { GradientStop { position: 0.0; color: "black" } GradientStop { position: 1.0; color: "white" } } }
En effet, un tour génial, fonctionne comme un charme! J'ai fait la même chose, même oublié l'ajout d'ancrage - conduire à des rayures non couvertes.
Je ne comprends pas, comment ça marche pour vous? Si vous Tournez i> Le rectangle enfant i>, alors il ira à l'extérieur du rectangle parent i>. Et cela fonctionne exactement comme j'ai dit pour moi: Storage2.Static.itmages. COM / I / 17/0802 / ... C'est une astuce non robuste. Cela ne fonctionne pas dans tous les cas comme la linéargradient.
@ General656 Vous avez peut-être manqué l'astuce: vous devez échanger la hauteur et la largeur du parent chez l'enfant, cela fonctionne parfaitement pour moi.
Le module d'effets graphiques QT introduit dans QT 5.1 fournit trois types de gradient.
Avec le lineargradient code> élément (effet), il n'est plus nécessaire d'appliquer la rotation afin de parvenir à par exemple. un gradient de couleurs horizontal.
En particulier au moyen du document Code> Démarrer CODE> et FIND CODE> POINT (ATTRIBUTS) de
LINEARGRADIENT CODE>