Qt 기반의 어플리케이션을 개발 할 때 버전에 따라 구현을 다르게 해야 할 경우가 있을 수 있다.
qglobal.h에는 전처리 과정에서 버전을 확인할 수 있는 매크로가 정의 되어 있는데 이 매크로를 이용하면 Qt 버전을 얻을 수 있다.
QT_VERSION 매크로는 0xMMNNPP (MM = major, NN = minor, PP = patch) 형식의 16진수 숫자 값을 얻을 수 있다.
QT_VERSION 을 16진수로 출력하면
qDebug("Qt Verstion Hex: %x ", QT_VERSION);
아래 처럼 출력된다.
Qt Verstion Hex: 50a00
특정 버전과 비교해야할 필요가 있는 경우 QT_VERSION_CHECK 매크로를 사용하면 쉽다.
#if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0))
#include <QtWidgets>
#else
#include <QtGui>
#endif
문자열 형태로 얻는 것도 가능한데, QT_VERSION_STR이라는 정의가 qconfig.h에 있다.
qDebug("Qt Verstion Str: %s ", QT_VERSION_STR);
문자열로 정의된 것을 출력
Qt Verstion Str: 5.10.0