Qt Comprobar el tipo de plataforma: mobile o de escritorio

Estoy buscando algún código que pueda usar para verificar si mi aplicación se ejecuta en un teléfono mobile / tableta o una computadora. Aquí hay una muestra para explicar lo que estoy haciendo:

#include <QtGlobal> #if defined Q_OS_BLACKBERRY || defined Q_OS_ANDROID || defined Q_OS_IOS || defined Q_OS_WP #define Q_OS_MOBILE #else #define Q_OS_DESKTOP #endif 

¿Cómo te ves? ¿Estoy reinventando la rueda?

La razón por la que no hay (que yo sepa) prefabricados #defines para esto es la definición de mobile vs escritorio vs embedded es borroso. Por ejemplo, Q_OS_QNX se establece junto con Q_OS_BLACKBERRY y Q_OS_DARWIN se establece en Q_OS_IOS y Q_OS_MACX. Problema similar para Q_OS_LINUX en Android, y luego hay un range de confusión en torno a las versiones de Windows.

Si las definiciones que has sugerido funcionan para tu caso de uso, creo que esa es una manera perfectamente razonable de proceder. Sin embargo, podría usar un esquema de nombres diferente para Q_OS_foo.