Qt Quick Beispiele – Fenster und Bildschirm
Dieses Beispiel veranschaulicht die Typen „Window“ und „Screen“ in QML.

„Fenster und Bildschirm“ zeigt, wie man:
- ein Fenster in QML erstellt
- dessen visibility
- beim Start der Anwendung einen Begrüßungsbildschirm anzeigen
- auf die Eigenschaften des Screen
Außerdem wird gezeigt, wie man QML in Ressourcen bündelt und ein Symbol bereitstellt, um eine eigenständige QML-Desktopanwendung zu erstellen.
Ausführen des Beispiels
Sie können das Beispiel wie folgt ausführen:
- Qt Creator
Öffnen Sie den Modus „ Welcome “ und wählen Sie das Beispiel unter „ Examples “ aus. Weitere Informationen finden Sie unter Qt Creator: Tutorial: Erstellen und Ausführen.
- Qt Extension for Visual Studio Code
Führen Sie den Befehl „ Qt: Open Qt examples “ aus dem Verzeichnis „ Command Palette “ aus und wählen Sie das Beispiel aus der Liste aus. Weitere Informationen finden Sie unter Qt Extension for Visual Studio Code: Tutorial: Erstellen und Ausführen.
Fensterimplementierung
Ein Startbildschirm kann mit dem Flag „ Qt.SplashScreen “ erstellt werden und sollte mit „ ApplicationModal “ versehen werden, um eine Interaktion mit dem Hauptfenster zu verhindern. Wenn das Startfenster zudem transparent ist und ein teilweise transparentes Bild anzeigt, sieht es wie ein geformtes Fenster aus.
Window {
id: splash
color: "transparent"
title: "Splash Window"
modality: Qt.ApplicationModal
flags: Qt.SplashScreen
property int timeoutInterval: 2000
signal timeoutIn diesem Beispiel wird der Begrüßungsbildschirm durch ein „ Timer “ automatisch ausgeblendet, doch in einer echten Anwendung möchten Sie möglicherweise eine Verbindung zu einem Signal aus der Anwendungslogik herstellen, um den Begrüßungsbildschirm nach Abschluss der Initialisierung auszublenden.
Timer {
interval: splash.timeoutInterval; running: splash.visible; repeat: false
onTriggered: splash.exit()
}Das Hauptfenster in diesem Beispiel ist das Steuerungsfenster mit einigen Schaltflächen und Kontrollkästchen, die zur Steuerung und Rückmeldung des Zustands eines sekundären Fensters dienen. Jedes Kontrollkästchen verfügt über eine Bindung an die Eigenschaft, deren Zustand es anzeigt, sowie über einen onClicked-Handler zum Ändern des Zustands. Dies ist das typische Muster, um eine bidirektionale Bindung zu erstellen und gleichzeitig Bindungsschleifen zu vermeiden.
CheckBox {
text: "Windowed"
height: showButton.height
width: col.cellWidth
Binding on checked { value: root.testWindow.visibility === Window.Windowed }
onClicked: root.testWindow.visibility = Window.Windowed
}Screen verfügt über mehrere Eigenschaften, die allgemein nützlich für Anwendungen sind, die bei einer Änderung der Bildschirmausrichtung Inhalte drehen, Fenster auf dem Bildschirm positionieren oder reale Einheiten in logische Pixeleinheiten umrechnen müssen. „CurrentScreen.qml“ (das inline in „window.qml“ angezeigt wird oder eigenständig mit dem qml-Tool ausgeführt werden kann) zeigt lediglich die Eigenschaftswerte an, während der Startbildschirm sie verwendet, um das Fenster auf dem Bildschirm zu zentrieren.
x: (Screen.width - splashImage.width) / 2
y: (Screen.height - splashImage.height) / 2Wenn ein ` Window ` in einem ` Item ` oder einem anderen `Window` verschachtelt ist, wird das innere Fenster für das äußere transienten (siehe Window für weitere Erläuterungen). Wenn Sie jedoch mehrere Fenster der obersten Ebene als voneinander unabhängige Peers erstellen möchten, können Sie diese innerhalb eines nicht-visuellen ` QtObject `-Stammelements erstellen, wie es dieses Beispiel zeigt.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.