QML: differenze tra le versioni

Da PNLUG.
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:
  property int auC: userModel.initAutoCompletion
+
  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:

  1. Il thema autoComp: Main.qml;
  2. 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.

torna all'indice