Comment puis-je créer une nouvelle fenêtre à partir de QML?
Est-il un moyen de créer une fenêtre entièrement nouvelle instance, comme un enfant de la fenêtre principale QML fenêtre dans un QmlApplication?
//ChildWindow.qml
Rectangle {
id: childWindow
width: 100
height: 100
//stuff
}
//main.qml
Rectangle {
id: window
width: 1000
height: 600
MouseArea {
anchors.fill: parent
onClicked: createAWindow(childWindow);
}
}
Je suis en train d'essayer d'éviter d'écrire un Q_OBJECT
classe juste pour instanciating la nouvelle fenêtre dans une nouvelle QmlApplicationViewer
.
source d'informationauteur opatut | 2011-11-30
Vous devez vous connecter pour publier un commentaire.
Il n'y a aucun moyen de créer des fenêtres de niveau supérieur en utilisant uniquement intégré dans QML fonctionnalité.
Cependant il y a un projet sur l'intervalle Qt Labs appelé Composants De Bureauqui, entre autres choses contient un Composant Windowqui vous permet de créer de nouvelles fenêtres de niveau supérieur.
Vous pouvez le faire en utilisant Qt.createComponent. Exemple (à l'aide de Qt 5.3):
principal.qml
Enfant.qml