QML: differenze tra le versioni
m (→minore) |
m (→numeri di riga) |
||
Riga 21: | Riga 21: | ||
Nel file UNameBox.qml sono contenuti, in tutto, '''5''' richiami al modulo UserModel: | Nel file UNameBox.qml sono contenuti, in tutto, '''5''' richiami al modulo UserModel: | ||
− | + | 31 property int auC: userModel.initAutoCompletion | |
− | userModel.head=event.text | + | 103 userModel.head=event.text |
− | userModel.tail="" | + | 104 userModel.tail="" |
− | head = userModel.head | + | 105 head = userModel.head |
− | tail = userModel.tail | + | 106 tail = userModel.tail |
il secondo e il terzo sono chiamate in lettura: il file QML passa un valore al programma in linguaggio C++.<br> | il secondo e il terzo sono chiamate in lettura: il file QML passa un valore al programma in linguaggio C++.<br> |
Versione delle 10:47, 11 ago 2016
Cosa son le QML
Qt Modelling Language
Sddm è un programma che fa uso delle QT: una libreria di risorse grafiche che facilita la vita ai programmatori della domenica, come noi.
'QML è un linguaggio di programmazione interpretato gestito dalle Qt.
Quando il greeter di sddm si avvia, esegue uno script qml chiamato Main.qml, contenuto nella cartella indicata dall'opzione --theme.
Nella prima versione del nostra patch a sddm sono contenuti due file qml nuovi:
- Il thema autoComp: Main.qml;
- La componente UNameBox.qml.
UNameBox.qml, probabilmente, è un oggetto provvisorio, che tuttavia gestisce, in questo momento, la funzione di autocompletamento.
Leggiamo la riga 31 del programma UNameBox.qml:
property int auC: userModel.initAutoCompletion;
Questa semplicissima istruzione definisce una variabile intera chiamata 'auC e attribuisce ad essa un valore, determinato dalla proprietà initAutoCompletion definita all'interno dei file UserModel.h e UserModel.cpp.
Con questa semplicissima sintassi, il programma QML consente di integrare nuove funzionalità non ancora previste dal programma orginale.
Nel file UNameBox.qml sono contenuti, in tutto, 5 richiami al modulo UserModel:
31 property int auC: userModel.initAutoCompletion 103 userModel.head=event.text 104 userModel.tail="" 105 head = userModel.head 106 tail = userModel.tail
il secondo e il terzo sono chiamate in lettura: il file QML passa un valore al programma in linguaggio C++.
il terzo e il quarto sono chiamate in scrittura: il programma C++ restituisce un valore che può essere usato dal programma QML.