<QtVersionChecks> Proxy-Seite

Makros

QT_VERSION
QT_VERSION_CHECK(major, minor, patch)

Makro-Dokumentation

QT_VERSION

Dieses Makro expandiert zu einem numerischen Wert in der gleichen Form wie die QT_VERSION_CHECK()-Konstrukte, der die Version von Qt angibt, mit der der Code, der es verwendet, kompiliert wurde. Wenn Sie zum Beispiel Ihre Anwendung mit Qt 6.1.2 kompilieren, wird das Makro QT_VERSION zu 0x060102 expandiert, genau wie QT_VERSION_CHECK(6, 1, 2). Beachten Sie, dass dies nicht mit der Version übereinstimmen muss, die die Anwendung zur Laufzeit verwendet.

Sie können QT_VERSION verwenden, um die neuesten Qt-Funktionen auszuwählen, wenn sie verfügbar sind, und ansonsten auf ältere Implementierungen zurückgreifen. Die Verwendung von QT_VERSION_CHECK() für den Wert, mit dem verglichen werden soll, wird empfohlen.

Beispiel:

#if QT_VERSION >= QT_VERSION_CHECK(4, 1, 0)
    QIcon icon = style()->standardIcon(QStyle::SP_TrashIcon);
#else
    QPixmap pixmap = style()->standardPixmap(QStyle::SP_TrashIcon);
    QIcon icon(pixmap);
#endif

Siehe auch QT_VERSION_STR, QT_VERSION_CHECK(), und qVersion().

QT_VERSION_CHECK(major, minor, patch)

Wandelt die Zahlen major, minor und patch einer Version in eine ganze Zahl um, die alle drei kodiert. In Hexadezimal ausgedrückt, hat diese Ganzzahl die Form 0xMMNNPP, wobei 0xMM == major , 0xNN == minor und 0xPP == patch . Dies kann mit einer anderen, ähnlich verarbeiteten Versions-ID verglichen werden.

Beispiel:

#include <QtGlobal>

#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
#include <QtWidgets>
#else
#include <QtGui>
#endif

Hinweis: Die Parameter werden ganz normal als Ganzzahlen gelesen und sollten daher normalerweise dezimal geschrieben werden (daher muss ein 0x -Präfix verwendet werden, wenn sie in hexadezimaler Form geschrieben werden). So ist QT_VERSION_CHECK(5, 15, 0) gleich 0x050f00, was auch als QT_VERSION_CHECK(5, 0xf, 0) geschrieben werden könnte.

Siehe auch QT_VERSION.

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