In sostanza, se non avete bisogno di proprietà di associazione (se il valore è una costante e non sarà necessario essere a notifica sul cambiamento) è possibile definire in una libreria condivisa JavaScript, in questo modo:
// MyConstants.js
.pragma library
var mainbg = "red";
e utilizzarlo in QML come questo:
import "MyConstants.js" as Constants
Rectangle {
color: Constants.mainbg;
}
Ma il lato cattivo di questo sono: - senza tipizzazione forte (JS non sa realmente sui tipi) così si potrebbe mettere qualsiasi cosa, anche se non è un colore. - e se si modifica mainbg
, l'articolo che lo utilizza non verrà informato della modifica e manterrà il vecchio valore
Quindi, se è necessario digitare controllo e associazione/modifica notifica, è sufficiente dichiarare la proprietà come membro di l'oggetto root in main.qml, e sarà accessibile da qualsiasi punto dell'applicazione QML, poiché la proprietà verrà infatti registrata direttamente nell'oggetto Context Qml, che è globale per definizione.
Spero che aiuti.
Perché non solo un semplice file javascript '.pragma library'? – Matteo