Qt QML Type

Stellt ein globales Objekt mit nützlichen Enums und Funktionen von Qt zur Verfügung. Mehr...

Import Statement: import QtQml

Eigenschaften

Methoden

  • string QT_TRANSLATE_NOOP(string context, string sourceText, string disambiguation)
  • string QT_TRID_NOOP(string id)
  • string QT_TR_NOOP(string sourceText, string disambiguation)
  • color alpha(color baseColor, real value)
  • string atob(data)
  • binding(function)
  • string btoa(data)
  • callLater(function)
  • callLater(function, argument1, argument2, ...)
  • color color(string name)
  • color colorEqual(color lhs, string rhs)
  • Component createComponent(url url, enumeration mode, QtObject parent)
  • Component createComponent(string moduleUri, string typeName, enumeration mode, QtObject parent) (since 6.5)
  • object createQmlObject(string qml, object parent, string filepath)
  • color darker(color baseColor, real factor)
  • exit(int retCode)
  • font font(object fontSpecifier)
  • list<string> fontFamilies()
  • string formatDate(datetime date, variant format, variant localeFormatOption)
  • string formatDateTime(datetime dateTime, variant format, variant localeFormatOption)
  • string formatTime(datetime time, variant format, variant localeFormatOption)
  • void gc()
  • color hsla(real hue, real saturation, real lightness, real alpha)
  • color hsva(real hue, real saturation, real value, real alpha)
  • bool isQtObject(object)
  • color lighter(color baseColor, real factor)
  • locale(name)
  • string md5(data)
  • matrix4x4 matrix4x4()
  • matrix4x4 matrix4x4(var values)
  • matrix4x4 matrix4x4(real m11, real m12, real m13, real m14, real m21, real m22, real m23, real m24, real m31, real m32, real m33, real m34, real m41, real m42, real m43, real m44)
  • bool openUrlExternally(url target)
  • point point(real x, real y)
  • string qsTr(string sourceText, string disambiguation, int n)
  • string qsTrId(string id, int n)
  • string qsTranslate(string context, string sourceText, string disambiguation, int n)
  • quaternion quaternion(real scalar, real x, real y, real z)
  • quit()
  • rect rect(real x, real y, real width, real height)
  • url resolvedUrl(url url)
  • url resolvedUrl(url url, object context)
  • color rgba(real red, real green, real blue, real alpha)
  • size size(real width, real height)
  • color tint(color baseColor, color tintColor)
  • url url(url url)
  • vector2d vector2d(real x, real y)
  • vector3d vector3d(real x, real y, real z)
  • vector4d vector4d(real x, real y, real z, real w)

Detaillierte Beschreibung

Qt ist ein Singleton-Typ, der Hilfsfunktionen, Eigenschaften und Enums bereitstellt. Hier ein Beispiel für die Verwendung dieses Typs:

import QtQuick 2.0

Text {
    color: Qt.rgba(1, 0, 0, 1)
    text: Qt.md5("hello, world")
}

Aufzählungen

Das Qt-Objekt enthält die Enums, die in Qt Namespace verfügbar sind. Sie können beispielsweise auf die Aufzählungswerte Qt::LeftButton und Qt::RightButton als Qt.LeftButton und Qt.RightButton zugreifen.

Typen

Das Qt-Objekt enthält auch Hilfsfunktionen zum Erstellen von Objekten mit bestimmten Datentypen. Dies ist vor allem dann nützlich, wenn Sie die Eigenschaften eines Objekts festlegen und die Eigenschaft einen der folgenden Typen hat:

Wenn das Modul QtQuick importiert wurde, stehen den Clients auch die folgenden Hilfsfunktionen zur Erstellung von Objekten bestimmter Datentypen zur Verfügung:

Datum/Uhrzeit-Formatierer

Das Qt-Objekt enthält mehrere Funktionen zur Formatierung der Werte QDateTime, QDate und QTime.

Die Formatspezifikation ist unter Qt.formatDateTime beschrieben.

Dynamische Objekterzeugung

Mit den folgenden Funktionen des globalen Objekts können Sie QML-Elemente dynamisch aus Dateien oder Strings erstellen. Einen Überblick über ihre Verwendung finden Sie unter Dynamische QML-Objekterstellung aus JavaScript.

Andere Funktionen

Die folgenden Funktionen sind ebenfalls im Qt-Objekt enthalten.

Dokumentation der Eigenschaft

application : Application

Das application Objekt ermöglicht den Zugriff auf globale Anwendungsstatus-Eigenschaften, die von vielen QML-Komponenten gemeinsam genutzt werden.

Es ist das gleiche wie das Application Singleton.

Das folgende Beispiel verwendet das application Objekt, um anzuzeigen, ob die Anwendung gerade aktiv ist:

import QtQuick

Rectangle {
    width: 300; height: 55
    color: Qt.application.active ? "white" : "lightgray"
    Text {
        text: "Application " + (Qt.application.active ? "active" : "inactive")
        opacity: Qt.application.active ? 1.0 : 0.5
        anchors.centerIn: parent
    }
}

Hinweis: Wenn QML ohne QGuiApplication verwendet wird, sind die folgenden Eigenschaften undefiniert:

  • application.active
  • application.state
  • application.layoutDirection
  • application.font

inputMethod : InputMethod

Es ist dasselbe wie das InputMethod Singleton.

Das Objekt inputMethod ermöglicht den Zugriff auf das Objekt QInputMethod der Anwendung und alle seine Eigenschaften und Slots. Weitere Einzelheiten finden Sie in der Dokumentation QInputMethod.


platform : object

Das platform Objekt liefert Informationen über die zugrunde liegende Plattform.

Seine Eigenschaften sind:

platform.osDiese schreibgeschützte Eigenschaft enthält den Namen des Betriebssystems.

Mögliche Werte sind:

  • "android" - Android
  • "ios" - iOS
  • "tvos" - tvOS
  • "visionos" - visionOS
  • "linux" - Linux
  • "osx" - macOS
  • "qnx" - QNX (seit Qt 5.9.3)
  • "unix" - Andere Unix-basierte Betriebssysteme
  • "windows" - Windows
  • "wasm" - WebAssembly

Hinweis: Der Wert der Eigenschaft unter macOS ist "osx", unabhängig von der Apple-Namenskonvention. Der zurückgegebene Wert wird für Qt 7 auf "macos" aktualisiert.

platform.pluginNameDies ist der Name der Plattform, die in der Instanz QGuiApplication eingestellt ist und von QGuiApplication::platformName() zurückgegeben wird.

styleHints : object

Das styleHints Objekt bietet plattformspezifische Style-Hinweise und Einstellungen. Siehe die QStyleHints Dokumentation für weitere Details.

Sie sollten stattdessen über Application::styleHints auf StyleHints zugreifen, da dies bessere Typinformationen für Werkzeuge wie das Qt Quick Compiler.

Hinweis: Das Objekt styleHints ist nur verfügbar, wenn Sie das Modul Qt Quick verwenden.


uiLanguage : string

Das uiLanguage-Objekt enthält den Namen der Sprache, die für die Übersetzung der Zeichenketten der Benutzeroberfläche verwendet wird. Sie ist in C++ als QQmlEngine::uiLanguage-Eigenschaft verfügbar.

Sie können den Wert frei setzen und in Bindungen verwenden. Es wird empfohlen, sie nach der Installation von Übersetzern in Ihrer Anwendung zu setzen. Konventionell bedeutet eine leere Zeichenkette, dass keine Übersetzung aus der im Quellcode verwendeten Sprache erfolgen soll.

Wenn Sie QQmlApplicationEngine verwenden und sich der Wert ändert, wird QQmlEngine::retranslate() aufgerufen.


Dokumentation der Methode

callLater(function)

callLater(function, argument1, argument2, ...)

Verwenden Sie diese Funktion, um redundante Aufrufe einer Funktion oder eines Signals zu vermeiden.

Die Funktion, die als erstes Argument an Qt.callLater() übergeben wird, wird später aufgerufen, wenn die QML-Engine zur Ereignisschleife zurückkehrt.

Wenn diese Funktion mehrmals kurz hintereinander mit der gleichen Funktion als erstes Argument aufgerufen wird, wird diese Funktion nur einmal aufgerufen.

Zum Beispiel:

import QtQuick

Rectangle {
    width: 480
    height: 320

    property int callsToUpdateMinimumWidth: 0
    property bool optimize: true

    property int currentTextModel: 0
    property var columnTexts: [
        ["Click on either", "rectangle above", "and note how the counter", "below updates", "significantly faster using the", "regular (non-optimized)", "implementation"],
        ["The width", "of this column", "is", "no wider than the", "widest item"],
        ["Note how using Qt.callLater()", "the minimum width is", "calculated a bare-minimum", "number", "of times"]
    ]

    Text {
        x: 20; y: 280
        text: "Times minimum width has been calculated: " + callsToUpdateMinimumWidth
    }

    Row {
        y: 25; spacing: 30; anchors.horizontalCenter: parent.horizontalCenter
        Rectangle {
            width: 200; height:  50; color: "lightgreen"
            Text { text: "Optimized behavior\nusing Qt.callLater()"; anchors.centerIn: parent }
            MouseArea { anchors.fill: parent; onClicked: { optimize = true; currentTextModel++ } }
        }
        Rectangle {
            width: 200; height:  50; color: "lightblue"
            Text { text: "Regular behavior"; anchors.centerIn: parent}
            MouseArea { anchors.fill: parent; onClicked: { optimize = false; currentTextModel++ } }
        }
    }

    Column {
        id: column
        anchors.centerIn: parent

        onChildrenChanged: optimize ? Qt.callLater(updateMinimumWidth) : updateMinimumWidth()

        property int widestChild
        function updateMinimumWidth() {
            callsToUpdateMinimumWidth++
            var w = 0;
            for (var i in children) {
                var child = children[i];
                if (child.implicitWidth > w) {
                    w = child.implicitWidth;
                }
            }

            widestChild = w;
        }

        Repeater {
            id: repeater
            model: columnTexts[currentTextModel%3]
            delegate: Text {
                color: "white"
                text: modelData
                width: column.widestChild
                horizontalAlignment: Text.Center
                Rectangle { anchors.fill: parent; z: -1; color: index%2 ? "gray" : "darkgray" }
            }
        }
    }
}

Alle zusätzlichen Argumente, die an Qt.callLater() übergeben werden, werden an die aufgerufene Funktion weitergereicht. Beachten Sie, dass, wenn redundante Aufrufe eliminiert werden, nur der letzte Satz von Argumenten an die Funktion weitergegeben wird.


string QT_TRANSLATE_NOOP(string context, string sourceText, string disambiguation)

Markiert sourceText für die dynamische Übersetzung in die angegebene context; d.h. die gespeicherte sourceText wird nicht verändert.

Wenn dieselbe sourceText in verschiedenen Rollen innerhalb desselben Übersetzungskontexts verwendet wird, kann eine zusätzliche Identifizierungszeichenfolge für disambiguation übergeben werden.

Gibt die sourceText zurück.

QT_TRANSLATE_NOOP wird in Verbindung mit den dynamischen Übersetzungsfunktionen qsTr() und qsTranslate() verwendet. Es identifiziert eine Zeichenkette als übersetzungsbedürftig (damit sie von lupdate identifiziert werden kann), überlässt aber die eigentliche Übersetzung den dynamischen Funktionen.

Beispiel:

Item {
    property string greeting: QT_TRANSLATE_NOOP("CustomContext", "hello")

    Text { text: qsTranslate("CustomContext", greeting) }
}

Siehe auch Internationalisierung mit Qt.


string QT_TRID_NOOP(string id)

Markiert id für die dynamische Übersetzung.

Gibt die id zurück.

QT_TRID_NOOP wird in Verbindung mit der dynamischen Übersetzungsfunktion qsTrId() verwendet. Sie identifiziert einen String als übersetzungsbedürftig (so dass er mit lupdate identifiziert werden kann), überlässt aber die eigentliche Übersetzung qsTrId().

Beispiel:

Item {
    property string greetingId: QT_TRID_NOOP("hello_id")

    Text { text: qsTrId(greetingId) }
}

Siehe auch qsTrId() und Internationalisierung mit Qt.


string QT_TR_NOOP(string sourceText, string disambiguation)

Markiert sourceText für dynamische Übersetzung; d.h. die gespeicherte sourceText wird nicht verändert.

Wenn dieselbe sourceText in verschiedenen Rollen innerhalb desselben Übersetzungskontexts verwendet wird, kann ein zusätzlicher Identifizierungsstring für disambiguation übergeben werden.

Gibt die sourceText zurück.

QT_TR_NOOP wird in Verbindung mit den dynamischen Übersetzungsfunktionen qsTr() und qsTranslate() verwendet. Es identifiziert eine Zeichenkette als übersetzungsbedürftig (damit sie von lupdate identifiziert werden kann), überlässt aber die eigentliche Übersetzung den dynamischen Funktionen.

Beispiel:

Item {
    property string greeting: QT_TR_NOOP("hello")

    Text { text: qsTr(greeting) }
}

Siehe auch Internationalisierung mit Qt.


color alpha(color baseColor, real value)

Gibt baseColor mit einem Alpha-Wert von value zurück.

value ist ein realer Wert zwischen 0 (völlig transparent) und 1 (völlig undurchsichtig).


string atob(data)

ASCII zu binär - diese Funktion dekodiert den base64 kodierten data String und gibt ihn zurück.


binding(function)

Gibt ein JavaScript-Objekt zurück, das eine Eigenschaftsbindung darstellt, mit einer function, die die Bindung auswertet.

Es gibt zwei Hauptanwendungsfälle für diese Funktion: Erstens, um eine Eigenschaftsbindung zwingend aus JavaScript-Code anzuwenden:

Item {
    property bool someCondition: true
    property int edgePosition

    Component.onCompleted: {
        if (someCondition == true) {
            // bind to the result of the binding expression passed to Qt.binding()
            edgePosition = Qt.binding(function() { return x + width })
        }
    }
}

und zweitens, um eine Eigenschaftsbindung bei der Initialisierung von Eigenschaftswerten dynamisch konstruierter Objekte (über Component.createObject() oder Loader.setSource()) anzuwenden.

Nehmen wir zum Beispiel die Existenz einer DynamicText-Komponente an:

import QtQuick

Text {
    id: textElement
    width: 200
    height: 200
    text: "Default text"
    property string dynamicText: "Dynamic text"
    onTextChanged: console.log(text)
}

die Ausgabe von:

Item {
    id: root
    property string dynamicText: "Root text"

    Component.onCompleted: {
        var c = Qt.createComponent("DynamicText.qml")

        var obj1 = c.createObject(root, { 'text': Qt.binding(function() { return dynamicText + ' extra text' }) })
        root.dynamicText = "Modified root text"

        var obj2 = c.createObject(root, { 'text': Qt.binding(function() { return this.dynamicText + ' extra text' }) })
        obj2.dynamicText = "Modified dynamic text"
    }
}

und von:

Item {
    id: root
    property string dynamicText: "Root text"

    Loader {
        id: loaderOne
        onLoaded: root.dynamicText = "Modified root text"
    }

    Loader {
        id: loaderTwo
        onLoaded: item.dynamicText = "Modified dynamic text"
    }

    Component.onCompleted: {
        loaderOne.setSource("DynamicText.qml", { 'text': Qt.binding(function() { return dynamicText + ' extra text' }) })
        loaderTwo.setSource("DynamicText.qml", { 'text': Qt.binding(function() { return this.dynamicText + ' extra text' }) })
    }
}

sollten beide sein:

Root text extra text
Modified root text extra text
Dynamic text extra text
Modified dynamic text extra text

Diese Funktion kann nicht in Eigenschaftsbindungsdeklarationen verwendet werden (siehe die Dokumentation zu Bindungsdeklarationen und Bindungszuweisungen), außer wenn das Ergebnis in einem Array gespeichert wird, das an eine var-Eigenschaft gebunden ist.

Item {
    width: 50
    property var storedBindings: [ Qt.binding(function() { return x + width }) ] // stored
    property int a: Qt.binding(function() { return x + width }) // error!
    property int b

    Component.onCompleted: {
        b = storedBindings[0] // causes binding assignment
    }
}

string btoa(data)

Binary to ASCII - diese Funktion gibt eine base64-Kodierung von data zurück.


color color(string name)

Gibt die Farbe zurück, die der angegebenen name entspricht (d.h. rot oder #ff0000). Wenn es keine solche Farbe gibt, wird null zurückgegeben.


color colorEqual(color lhs, string rhs)

Gibt true zurück, wenn sowohl lhs als auch rhs die gleichen Farbwerte ergeben. Beide Argumente können entweder Farbwerte oder Zeichenkettenwerte sein. Wenn ein String-Wert übergeben wird, muss er in eine Farbe konvertierbar sein, wie für den Wertetyp color beschrieben.


Component createComponent(url url, enumeration mode, QtObject parent)

Gibt ein Component -Objekt zurück, das unter Verwendung der QML-Datei unter der angegebenen url erstellt wurde, oder null, wenn eine leere Zeichenkette angegeben wurde.

Die Component::status Eigenschaft der zurückgegebenen Komponente zeigt an, ob die Komponente erfolgreich erstellt wurde. Wenn der Status Component.Error ist, finden Sie unter Component::errorString() eine Fehlerbeschreibung.

Wenn der optionale Parameter mode auf Component.Asynchronous gesetzt ist, wird die Komponente in einem Hintergrund-Thread geladen. Die Eigenschaft Component::status lautet Component.Loading während des Ladevorgangs. Der Status ändert sich zu Component.Ready, wenn die Komponente erfolgreich geladen wird, oder zu Component.Error, wenn das Laden fehlschlägt. Dieser Parameter ist standardmäßig auf Component.PreferSynchronous gesetzt, wenn er weggelassen wird.

Wenn mode auf Component.PreferSynchronous gesetzt ist, versucht Qt, die Komponente synchron zu laden, kann sie aber gegebenenfalls auch asynchron laden. Zu den Szenarien, die ein asynchrones Laden verursachen können, gehören unter anderem die folgenden:

  • Die URL verweist auf eine Netzwerkressource
  • Die Komponente wird als Ergebnis einer anderen Komponente erstellt, die asynchron geladen wird.

Wenn der optionale Parameter parent angegeben wird, sollte er auf das Objekt verweisen, das zum übergeordneten Objekt für das erstellte Component Objekt wird. Wenn kein Modus übergeben wurde, kann dies das zweite Argument sein.

Rufen Sie Component.createObject() für die zurückgegebene Komponente auf, um eine Objektinstanz der Komponente zu erstellen.

Zum Beispiel:

import QtQuick

Item {
    id: container
    width: 300; height: 300

    function loadButton() {
        var component = Qt.createComponent("Button.qml");
        if (component.status == Component.Ready) {
            var button = component.createObject(container);
            button.color = "red";
        }
    }

    Component.onCompleted: loadButton()
}

Weitere Informationen zur Verwendung dieser Funktion finden Sie unter Dynamische QML-Objekterstellung aus JavaScript.

Um ein QML-Objekt aus einer beliebigen QML-Zeichenkette (statt aus einer Datei) zu erstellen, verwenden Sie Qt.createQmlObject().


[since 6.5] Component createComponent(string moduleUri, string typeName, enumeration mode, QtObject parent)

Dies ist eine überladene Funktion.

Gibt ein Component Objekt zurück, das für den durch moduleUri und typeName angegebenen Typ erstellt wurde.

import QtQml
QtObject {
    id: root
    property Component myComponent: Qt.createComponent("QtQuick", "Rectangle", Component.Asynchronous, root)
}

Diese Überladung verhält sich größtenteils wie die auf url basierende Version, kann aber verwendet werden, um Typen zu instanziieren, die keine URL haben (z. B. C++-Typen, die über QML_ELEMENT registriert wurden).

Hinweis: In einigen Fällen hat die Übergabe von Component.Asynchronous keine Auswirkung:

  • Der Typ ist in C++ implementiert
  • Der Typ ist eine Inline-Komponente.

Wenn der optionale Parameter parent übergeben wird, sollte er auf das Objekt verweisen, das das Elternobjekt für das erstellte Component Objekt wird. Wenn kein Modus übergeben wurde, kann dies das zweite Argument sein.

Diese Methode wurde in Qt 6.5 eingeführt.


object createQmlObject(string qml, object parent, string filepath)

Gibt ein neues Objekt zurück, das aus der angegebenen Zeichenkette qml erstellt wurde und den angegebenen parent hat, oder null, wenn ein Fehler bei der Erstellung des Objekts auftrat.

Wenn filepath angegeben ist, wird es für die Fehlerberichterstattung für das erstellte Objekt verwendet.

Beispiel (wobei parentItem die ID eines vorhandenen QML-Objekts ist):

const newObject = Qt.createQmlObject(`
    import QtQuick

    Rectangle {
        color: "red"
        width: 20
        height: 20
    }
    `,
    parentItem,
    "myDynamicSnippet"
);

Im Falle eines Fehlers wird ein QQmlError Objekt ausgelöst. Dieses Objekt hat eine zusätzliche Eigenschaft, qmlErrors, die ein Array der aufgetretenen Fehler ist. Jedes Objekt in diesem Array hat die Mitglieder lineNumber, columnNumber, fileName und message. Wenn zum Beispiel in dem obigen Ausschnitt color als "colro" falsch geschrieben wurde, würde das Array ein Objekt wie das folgende enthalten: {"lineNumber" : 1, "columnNumber" : 32, "fileName" : "dynamicSnippet1", "message" : "Cannot assign to non-existent property "colro""}.

Hinweis: Diese Funktion kehrt sofort zurück und funktioniert daher möglicherweise nicht, wenn der String qml neue Komponenten lädt (d. h. externe QML-Dateien, die noch nicht geladen wurden). In diesem Fall sollten Sie stattdessen Qt.createComponent() verwenden.

Warnung: Diese Funktion ist extrem langsam, da sie bei jedem Aufruf den übergebenen QML-String kompilieren muss. Außerdem ist es sehr einfach, ungültiges QML zu erzeugen, wenn man QML-Code programmatisch konstruiert. Es ist viel besser, Ihre QML-Komponenten als separate Dateien zu speichern und Eigenschaften und Methoden hinzuzufügen, um ihr Verhalten anzupassen, als neue Komponenten durch Stringmanipulation zu erzeugen.

Weitere Informationen zur Verwendung dieser Funktion finden Sie unter Dynamische QML-Objekterstellung aus JavaScript.


color darker(color baseColor, real factor)

Gibt eine Farbe zurück, die um den angegebenen Faktor factor dunkler ist als baseColor.

Wenn der Faktor größer als 1,0 ist, gibt diese Funktion eine dunklere Farbe zurück. Wenn Sie den Faktor auf 3,0 setzen, wird eine Farbe mit einem Drittel der Helligkeit zurückgegeben. Wenn der Faktor kleiner als 1.0 ist, wird eine hellere Farbe zurückgegeben, aber wir empfehlen die Verwendung der Funktion Qt.lighter() für diesen Zweck. Wenn der Faktor 0 oder negativ ist, ist der Rückgabewert nicht spezifiziert.

Die Funktion konvertiert die aktuelle RGB-Farbe nach HSV, teilt die Wertkomponente (V) durch den Faktor und konvertiert die Farbe zurück nach RGB.

Wenn factor nicht angegeben wird, wird eine Farbe zurückgegeben, die 50% dunkler ist als baseColor (Faktor 2,0).


exit(int retCode)

Diese Funktion bewirkt, dass das Signal QQmlEngine::exit(int) ausgegeben wird. Innerhalb des qml-Tools führt dies dazu, dass die Launcher-Anwendung mit dem angegebenen Rückgabewert (retCode) beendet wird. Um die Ereignisschleife mit einem bestimmten Rückgabewert zu verlassen, wenn diese Methode aufgerufen wird, kann eine C++-Anwendung das Signal QQmlEngine::exit(int) mit dem Slot QCoreApplication::exit(int) verbinden.

Siehe auch quit().


font font(object fontSpecifier)

Gibt eine Schriftart mit den im Objekt fontSpecifier angegebenen Eigenschaften oder die nächstgelegene passende Schriftart zurück. Das Objekt fontSpecifier sollte Schlüssel-Wert-Paare enthalten, wobei die gültigen Schlüssel die Namen der Untereigenschaften des Typs font und die Werte die gültigen Werte für jede Untereigenschaft sind. Ungültige Schlüssel werden ignoriert.


list<string> fontFamilies()

Gibt eine Liste der für die Anwendung verfügbaren Schriftfamilien zurück.


string formatDate(datetime date, variant format, variant localeFormatOption)

Gibt eine String-Darstellung von date zurück, die optional mit format formatiert werden kann.

Der Parameter date kann ein JavaScript Date Objekt, eine date Eigenschaft, ein QDate oder QDateTime Wert sein. Die Parameter format und localeFormatOption können alle möglichen Formatwerte sein, wie für Qt.formatDateTime() beschrieben.

Wenn format nicht angegeben ist, wird date unter Verwendung des Standardgebietsschemas Locale.ShortFormat formatiert.

Siehe auch Locale.


string formatDateTime(datetime dateTime, variant format, variant localeFormatOption)

Gibt eine String-Darstellung von dateTime zurück, optional formatiert unter Verwendung von format und localeFormatOption.

Der Parameter dateTime kann ein JavaScript Date Objekt, eine date Eigenschaft, ein QDate, QTime oder QDateTime Wert sein.

Wenn format nicht angegeben wird, wird dateTime unter Verwendung von Locale.ShortFormat mit dem Standardgebietsschema formatiert. Andernfalls sollte format entweder sein:

  • Einer der Qt::DateFormat Aufzählungswerte, wie Qt.RFC2822Date oder Qt.ISODate.
  • Eine Zeichenkette, die das Format der zurückgegebenen Zeichenkette angibt, wie unten beschrieben.
  • Ein locale Objekt.

Wenn format ein Gebietsschemaobjekt angibt, wird dateTime mit QLocale::toString formatiert. In diesem Fall kann localeFormatOption einen Wert des Typs QLocale::FormatType enthalten, um die Formatierung weiter abzustimmen. Wenn keine Angabe gemacht wird, wird Locale.ShortFormat verwendet.

Wenn format eine Formatzeichenkette angibt, sollte sie die folgenden Ausdrücke verwenden, um das Datum anzugeben:

AusdruckAusgabe
dder Tag als Zahl ohne führende Null (1 bis 31)
ddder Tag als Zahl mit einer führenden Null (01 bis 31)
dddder abgekürzte lokalisierte Tagesname (z. B. 'Mon' bis 'Sun'). Verwendet QDate::shortDayName().
ddddder lange lokalisierte Tagesname (z. B. 'Montag' bis 'Qt::Sunday'). Verwendet QDate::longDayName().
Mder Monat als Zahl ohne führende Null (1-12)
MMder Monat als Zahl mit einer führenden Null (01-12)
MMMder abgekürzte lokalisierte Monatsname (z. B. 'Jan' bis 'Dez'). Verwendet QDate::shortMonthName().
MMMMder lange lokalisierte Monatsname (z. B. 'Januar' bis 'Dezember'). Verwendet QDate::longMonthName().
jjdas Jahr als zweistellige Zahl (00-99)
jjjjdie Jahreszahl als vierstellige Zahl

Zusätzlich können die folgenden Ausdrücke verwendet werden, um die Zeit anzugeben:

AusdruckAusgabe
hdie Stunde ohne führende Null (0 bis 23 oder 1 bis 12 bei AM/PM-Anzeige)
hhdie Stunde mit einer führenden Null (00 bis 23 oder 01 bis 12 bei AM/PM-Anzeige)
mdie Minute ohne führende Null (0 bis 59)
mmdie Minute mit einer führenden Null (00 bis 59)
sdie Sekunde ohne vorangestellte Null (0 bis 59)
ssdie Sekunde mit einer führenden Null (00 bis 59)
zdie Millisekunden ohne führende Nullen (0 bis 999)
zzzdie Millisekunden mit führenden Nullen (000 bis 999)
APAM/PM-Anzeige verwenden. AP wird entweder durch "AM" oder "PM" ersetzt.
apam/pm-Anzeige verwenden. ap wird entweder durch "am" oder "pm" ersetzt.
tenthält eine Zeitzonenanzeige.

Alle anderen Eingabezeichen werden ignoriert. Eine Folge von Zeichen, die in einfachen Anführungszeichen eingeschlossen sind, wird als Text behandelt und nicht als Ausdruck verwendet. Zwei aufeinanderfolgende einfache Anführungszeichen ("''") werden in der Ausgabe durch ein einfaches Anführungszeichen ersetzt.

Zum Beispiel, wenn der folgende Datums-/Zeitwert angegeben wurde:

// 21 May 2001 14:13:09
var dateTime = new Date(2001, 5, 21, 14, 13, 09)

Dieser Wert dateTime könnte an Qt.formatDateTime(), Qt.formatDate() oder Qt.formatTime() mit den nachstehenden Werten format übergeben werden, um die folgenden Ergebnisse zu erzielen:

FormatErgebnis
"tt.MM.jjjj"21.05.2001
"ddd MMMM d yy"Di 21. Mai 01
"hh:mm:ss.zzz"14:13:09.042
"h:m:s ap"14:13:9 pm

Siehe auch Locale.


string formatTime(datetime time, variant format, variant localeFormatOption)

Gibt eine String-Repräsentation von time zurück, optional formatiert mit format und, falls angegeben, localeFormatOption.

Der Parameter time kann ein JavaScript Date Objekt, ein QTime oder QDateTime Wert sein. Bei den Parametern format und localeFormatOption kann es sich um jeden der möglichen Formatwerte handeln, die für Qt.formatDateTime() beschrieben sind.

Wenn format nicht angegeben wird, wird time unter Verwendung von Locale.ShortFormat mit dem Standardgebietsschema formatiert.

Siehe auch Locale.


void gc()

Führt den Garbage Collector aus.

Dies ist gleichbedeutend mit dem Aufruf von QJSEngine::collectGarbage().

Siehe auch Garbage Collection.


color hsla(real hue, real saturation, real lightness, real alpha)

Gibt eine Farbe mit den angegebenen Komponenten hue, saturation, lightness und alpha zurück. Alle Komponenten sollten im Bereich 0-1 (einschließlich) liegen.


color hsva(real hue, real saturation, real value, real alpha)

Gibt eine Farbe mit den angegebenen Komponenten hue, saturation, value und alpha zurück. Alle Komponenten sollten im Bereich 0-1 (einschließlich) liegen.


bool isQtObject(object)

Gibt true zurück, wenn object ein gültiger Verweis auf ein Qt- oder QML-Objekt ist, andernfalls false.


color lighter(color baseColor, real factor)

Gibt eine Farbe zurück, die um den angegebenen factor heller ist als baseColor.

Wenn der Faktor größer als 1.0 ist, gibt diese Funktion eine hellere Farbe zurück. Setzt man den Faktor auf 1.5, wird eine Farbe zurückgegeben, die 50% heller ist. Wenn der Faktor kleiner als 1.0 ist, wird eine dunklere Farbe zurückgegeben, aber wir empfehlen die Verwendung der Funktion Qt.darker() für diesen Zweck. Wenn der Faktor 0 oder negativ ist, ist der Rückgabewert nicht spezifiziert.

Die Funktion konvertiert die aktuelle RGB-Farbe in HSV, multipliziert die Wertkomponente (V) mit dem Faktor und konvertiert die Farbe zurück nach RGB.

Wenn factor nicht angegeben wird, wird eine Farbe zurückgegeben, die 50 % heller ist als baseColor (Faktor 1,5).


locale(name)

Gibt ein JS-Objekt zurück, das das Gebietsschema mit dem angegebenen name repräsentiert, das das Format "language[_territory][.codeset][@modifier]" oder "C" hat, wobei:

  • language ein kleingeschriebener, zweistelliger ISO 639-Sprachcode ist,
  • territory ein zweibuchstabiger ISO-3166-Ländercode in Großbuchstaben ist und
  • codeset und modifier werden ignoriert.

Wenn die Zeichenkette gegen das Gebietsschema verstößt oder die Sprache kein gültiger ISO 369-Code ist, wird stattdessen das Gebietsschema "C" verwendet. Wenn country nicht vorhanden oder kein gültiger ISO-3166-Code ist, wird das am besten geeignete Land für die angegebene Sprache gewählt.

Siehe auch Locale.


string md5(data)

Gibt einen Hex-String des md5-Hashes von data zurück.


matrix4x4 matrix4x4()

Gibt eine Identitätsmatrix4x4 zurück.


matrix4x4 matrix4x4(var values)

Gibt eine Matrix4x4 mit der angegebenen values zurück. values wird als JavaScript-Array mit 16 Einträgen erwartet.

Die Array-Indizes entsprechen den Positionen in der Matrix wie folgt:

0123
4567
891011
12131415

matrix4x4 matrix4x4(real m11, real m12, real m13, real m14, real m21, real m22, real m23, real m24, real m31, real m32, real m33, real m34, real m41, real m42, real m43, real m44)

Gibt eine Matrix4x4 mit den angegebenen Werten zurück.

Die Argumente entsprechen ihren Positionen in der Matrix:

m11m12m13m14
m21m22m23m24
m31m32m33m34
m41m42m43m44

bool openUrlExternally(url target)

Versucht, die angegebene target url in einer externen Anwendung zu öffnen, basierend auf den Desktop-Einstellungen des Benutzers. Gibt im Erfolgsfall true zurück, andernfalls false.

Warnung: Ein Rückgabewert von true bedeutet, dass die Anwendung das Betriebssystem erfolgreich aufgefordert hat, die URL in einer externen Anwendung zu öffnen. Es ist möglich, dass die externe Anwendung trotzdem nicht startet oder den angeforderten URL nicht öffnen kann. Dieses Ergebnis wird nicht an die Anwendung zurückgemeldet.


point point(real x, real y)

Gibt einen Punkt mit den angegebenen Koordinaten x und y zurück.


string qsTr(string sourceText, string disambiguation, int n)

Gibt eine übersetzte Version von sourceText zurück, optional basierend auf einer disambiguation Zeichenfolge und dem Wert von n für Zeichenfolgen, die Pluralformen enthalten; andernfalls wird sourceText selbst zurückgegeben, wenn keine geeignete übersetzte Zeichenfolge verfügbar ist.

Beispiele mit sourceText und n:

    Text { text: qsTr("hello") }
    // Translates the source text into the correct
    // plural form and replaces %n with the value of total.
    Text {
        text: qsTr("%n message(s) saved", "", total)
    }

Wenn dieselbe sourceText in verschiedenen Rollen innerhalb desselben Übersetzungskontexts verwendet wird, kann eine zusätzliche Identifizierungszeichenfolge für disambiguation übergeben werden. Weitere Informationen und Beispiele finden Sie unter Disambiguate Identical Text.

Siehe auch qsTranslate(), Internationalisierung mit Qt, und Quellcode für die Übersetzung schreiben.


string qsTrId(string id, int n)

Gibt eine übersetzte Zeichenkette zurück, die durch id identifiziert wird. Wenn keine passende Zeichenkette gefunden wird, wird die id selbst zurückgegeben. Dies sollte unter normalen Bedingungen nicht passieren.

Wenn n >= 0 ist, werden alle Vorkommen von %n in der resultierenden Zeichenkette durch eine dezimale Darstellung von n ersetzt. Darüber hinaus kann der Übersetzungstext je nach dem Wert von n variieren.

Beispiel:

Text { text: qsTrId("hello_id") }

Es ist möglich, eine Quelltextvorlage wie folgt zu liefern:

//% <string>

    Text {
        //% "hello"
        text: qsTrId("hello_id")
    }

oder

/*% <string> */

    Text {
        /*% "hello" */
        text: qsTrId("hello_id")
    }

Um binäre Übersetzungsdateien (QM) zu erstellen, die für diese Funktion geeignet sind, muss die Option -idbased an das Tool lrelease übergeben werden.

Siehe auch QT_TRID_NOOP() und Internationalisierung mit Qt.


string qsTranslate(string context, string sourceText, string disambiguation, int n)

Gibt eine übersetzte Version von sourceText innerhalb der angegebenen context zurück, optional basierend auf einer disambiguation Zeichenkette und dem Wert von n für Zeichenketten, die Plurale enthalten; andernfalls wird sourceText selbst zurückgegeben, wenn keine passende übersetzte Zeichenkette verfügbar ist.

Wenn dieselbe sourceText in verschiedenen Rollen innerhalb derselben Übersetzung context verwendet wird, kann eine zusätzliche Identifizierungszeichenfolge für disambiguation übergeben werden.

Beispiel:

Text { text: qsTranslate("CustomContext", "hello") }

Verwenden Sie, wenn Sie eine Übersetzung context haben, die sich von der Datei context unterscheidet.

Siehe auch Internationalisierung mit Qt und qsTr().


quaternion quaternion(real scalar, real x, real y, real z)

Gibt ein Quaternion mit den angegebenen Werten scalar, x, y und z zurück.


quit()

Diese Funktion bewirkt, dass das Signal QQmlEngine::quit() ausgegeben wird. Innerhalb des qml-Werkzeugs führt dies zum Beenden der Launcher-Anwendung; um eine C++-Anwendung zu beenden, wenn diese Methode aufgerufen wird, verbinden Sie das Signal QQmlEngine::quit() mit dem Steckplatz QCoreApplication::quit().

Siehe auch exit().


rect rect(real x, real y, real width, real height)

Liefert ein Rect mit der linken oberen Ecke bei x, y und den angegebenen width und height.


url resolvedUrl(url url)

Gibt url relativ zur URL des Aufrufers aufgelöst zurück.

Wenn es keinen Aufrufer gibt oder der Aufrufer nicht mit einem QML-Kontext verbunden ist, wird url relativ zur Basis-URL der QML-Engine aufgelöst zurückgegeben. Wenn die QML-Engine keine Basis-URL hat, wird einfach url zurückgegeben.

Siehe auch url().


url resolvedUrl(url url, object context)

Gibt url aufgelöst relativ zur URL des QML-Kontexts von context zurück. Wenn context nicht mit einem QML-Kontext verbunden ist, wird url aufgelöst relativ zur Basis-URL der QML-Engine zurückgegeben. Wenn die QML-Engine keine Basis-URL hat, wird nur url zurückgegeben.

Siehe auch url().


color rgba(real red, real green, real blue, real alpha)

Gibt eine Farbe mit den angegebenen Komponenten red, green, blue und alpha zurück. Alle Komponenten sollten im Bereich 0-1 (einschließlich) liegen.


size size(real width, real height)

Gibt eine Größe mit den angegebenen width und height zurück.


color tint(color baseColor, color tintColor)

Mit dieser Funktion kann eine Farbe (baseColor) mit einer anderen (tintColor) eingefärbt werden.

Die Tönungsfarbe sollte in der Regel weitgehend transparent sein, sonst kann man die darunter liegende Farbe nicht sehen. Im folgenden Beispiel wird ein leichter Rotstich erzeugt, indem die Tönungsfarbe ein reines Rot ist, das nur zu 1/16 deckend ist.

Item {
    Rectangle {
        x: 0; width: 80; height: 80
        color: "lightsteelblue"
    }
    Rectangle {
        x: 100; width: 80; height: 80
        color: Qt.tint("lightsteelblue", "#10FF0000")
    }
}

Die Tönung ist vor allem dann nützlich, wenn eine subtile Veränderung aufgrund eines Ereignisses vermittelt werden soll; dann können Sie die sichtbare Farbe mit Hilfe der Tönung besser abstimmen.


url url(url url)

Gibt url wortwörtlich zurück. Dies kann verwendet werden, um eine Typ-Zwangsumwandlung zu url zu erzwingen. Im Gegensatz zu Qt.resolvedUrl() bleiben hier alle relativen URLs erhalten. Da Strings implizit in URLs umgewandelt werden, kann die Funktion mit einem String als Argument aufgerufen werden und gibt dann eine URL zurück.

Siehe auch resolvedUrl().


vector2d vector2d(real x, real y)

Gibt einen vector2d mit den angegebenen Werten x und y zurück.


vector3d vector3d(real x, real y, real z)

Gibt einen vector3d mit den angegebenen Werten x, y und z zurück.


vector4d vector4d(real x, real y, real z, real w)

Gibt einen vector4d mit den angegebenen Werten x, y, z und w zurück.


© 2025 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.