Diferència entre revisions de la pàgina «Introducció al QML. Curs 2021-2022»
m |
m |
||
(Hi ha 4 revisions intermèdies del mateix usuari que no es mostren) | |||
Línia 1: | Línia 1: | ||
Comencem provant els codis qmlXX presents al [https://recull.binefa.cat/files/20211112/ recull de codis del dia 12 de novembre de 2021] usuari: ''dam'' / contrasenya: ''dam2122'' | Comencem provant els codis qmlXX presents al [https://recull.binefa.cat/files/20211112/ recull de codis del dia 12 de novembre de 2021] usuari: ''dam'' / contrasenya: ''dam2122'' | ||
+ | |||
+ | [https://zetcode.com/gui/qtquick/ Qt Quick tutorial] | ||
[https://qmlbook.github.io/ Accés al llibre de Qt/QML en línia] | [https://qmlbook.github.io/ Accés al llibre de Qt/QML en línia] | ||
Línia 5: | Línia 7: | ||
Execució de codis QML des del terminal: | Execució de codis QML des del terminal: | ||
/home/jordi/Qt/5.15.2/gcc_64/bin/qmlscene showcase.qml | /home/jordi/Qt/5.15.2/gcc_64/bin/qmlscene showcase.qml | ||
+ | o | ||
+ | /home/jordi/Qt/6.1.3/gcc_64/bin/qmlscene showcase.qml | ||
+ | |||
+ | |||
+ | == Dependències == | ||
+ | KeysExample.qml, present a ch04-qmlstart-assets/ch04-qmlstart/src/input, depèn de DarkSquare.qml i GreenSquare.qml | ||
+ | |||
+ | jordi@iot-clot:~/Documents/curs2021-2022/dam/20211115/exQml_02/ch04-qmlstart-assets/ch04-qmlstart/src/input$ /home/jordi/Qt/6.0.1/gcc_64/bin/qmlscene '''KeysExample.qml''' | ||
+ | |||
+ | Consultem [https://recull.binefa.cat/files/20211115/ancoratgesQml.pdf ancoratgesQml.pdf] | ||
+ | |||
+ | == KDAB == | ||
+ | |||
+ | [https://github.com/KDAB/kdabtv/tree/master/qml-intro Codis QML] dels [https://www.youtube.com/playlist?list=PL6CJYn40gN6hdNC1IGQZfVI707dh9DPRc vídeos de KDAB] | ||
+ | |||
+ | === qml_02_kdab === | ||
+ | ==== Ancoratge ==== | ||
+ | [https://github.com/KDAB/kdabtv/blob/master/qml-intro/ex-anchor-layout/anchors.qml anchors.qml:] | ||
+ | [[Image:00_anchors.png|center|anchors.qml]] | ||
+ | |||
+ | [https://github.com/KDAB/kdabtv/blob/master/qml-intro/ex-anchor-layout/anchors2.qml anchors2.qml:] | ||
+ | [[Image:01_anchors2.png|center|anchors2.qml]] | ||
+ | |||
+ | [https://github.com/KDAB/kdabtv/blob/master/qml-intro/ex-anchor-layout/anchors-centerin-parent-keyword.qml anchors-centerin-parent-keyword.qml:] | ||
+ | [[Image:02_anchors-centerin-parent-keyword.png|center|anchors-centerin-parent-keyword.qml]] | ||
+ | |||
+ | [https://github.com/KDAB/kdabtv/blob/master/qml-intro/ex-anchor-layout/anchors-expanding.qml anchors-expanding.qml:] | ||
+ | [[Image:03_anchors-expanding.png|center|anchors-expanding.qml]] | ||
+ | |||
+ | [https://github.com/KDAB/kdabtv/blob/master/qml-intro/ex-anchor-layout/anchors-fill.qml anchors-fill.qml:] | ||
+ | [[Image:04_anchors-expanding.png|center|anchors-fill.qml]] | ||
+ | |||
+ | ==== Bucles de vinculació ==== | ||
+ | [https://github.com/KDAB/kdabtv/blob/master/qml-intro/ex-binding-loop/main.qml Bucles de vinculació (''binding loop'')] | ||
+ | |||
+ | Exemple de bucle de vinculació: | ||
+ | import QtQuick 2.0 | ||
+ | |||
+ | Rectangle { | ||
+ | color: "black" | ||
+ | '''width: child.width''' | ||
+ | '''height: child.width''' | ||
+ | |||
+ | Image { | ||
+ | '''id: child''' | ||
+ | source : "../images/vertical-gradient.png" | ||
+ | '''anchors.fill: parent''' | ||
+ | anchors.margins: 5 | ||
+ | } | ||
+ | } | ||
+ | |||
+ | Una solució per a evitar bucles de vinculació: | ||
+ | import QtQuick 2.0 | ||
+ | |||
+ | Rectangle { | ||
+ | color: "black" | ||
+ | '''implicitWidth: child.implicitWidth''' | ||
+ | '''implicitHeight: child.implicitWidth''' | ||
+ | |||
+ | Image { | ||
+ | '''id: child''' | ||
+ | source : "../images/vertical-gradient.png" | ||
+ | '''anchors.fill: parent''' | ||
+ | anchors.margins: 5 | ||
+ | } | ||
+ | } | ||
+ | |||
Feu els exercicis de QML presents al [[Recull de pràctiques de 2n de DAM. Curs 2021-2022]] | Feu els exercicis de QML presents al [[Recull de pràctiques de 2n de DAM. Curs 2021-2022]] |
Revisió de 13:06, 19 nov 2021
Comencem provant els codis qmlXX presents al recull de codis del dia 12 de novembre de 2021 usuari: dam / contrasenya: dam2122
Accés al llibre de Qt/QML en línia
Execució de codis QML des del terminal:
/home/jordi/Qt/5.15.2/gcc_64/bin/qmlscene showcase.qml
o
/home/jordi/Qt/6.1.3/gcc_64/bin/qmlscene showcase.qml
Dependències
KeysExample.qml, present a ch04-qmlstart-assets/ch04-qmlstart/src/input, depèn de DarkSquare.qml i GreenSquare.qml
jordi@iot-clot:~/Documents/curs2021-2022/dam/20211115/exQml_02/ch04-qmlstart-assets/ch04-qmlstart/src/input$ /home/jordi/Qt/6.0.1/gcc_64/bin/qmlscene KeysExample.qml
Consultem ancoratgesQml.pdf
KDAB
Codis QML dels vídeos de KDAB
qml_02_kdab
Ancoratge
anchors-centerin-parent-keyword.qml:
Bucles de vinculació
Bucles de vinculació (binding loop)
Exemple de bucle de vinculació:
import QtQuick 2.0 Rectangle { color: "black" width: child.width height: child.width Image { id: child source : "../images/vertical-gradient.png" anchors.fill: parent anchors.margins: 5 } }
Una solució per a evitar bucles de vinculació:
import QtQuick 2.0 Rectangle { color: "black" implicitWidth: child.implicitWidth implicitHeight: child.implicitWidth Image { id: child source : "../images/vertical-gradient.png" anchors.fill: parent anchors.margins: 5 } }
Feu els exercicis de QML presents al Recull de pràctiques de 2n de DAM. Curs 2021-2022