Comment déterminer la plate-forme Qt est en cours d'exécution sur au moment de l'exécution?
Est-il un (Qt) pour déterminer la plate-forme d'une application Qt est en cours d'exécution sur au moment de l'exécution?
Vous devez vous connecter pour publier un commentaire.
Noter que le Q_WS_* les macros sont définies au moment de la compilation, mais QSysInfo donne un certain moment de l'exécution des détails.
D'étendre gs fonction permettant d'obtenir la version spécifique de windows lors de l'exécution, vous pouvez le faire
et similaire pour Mac.
Je ne peux pas m'empêcher de remarquer que la plupart des réponses vous recommandons d'utiliser le Q_WS ensemble de macros pour déterminer le Système d'Exploitation, ce n'est pas une bonne solution, car Q_WS_* désigne le Système de Fenêtrage et pas le Système d'Exploitation de la plateforme(pour exemple. X11 peut être exécuté sur Windows ou Mac OS X, quoi?), donc on ne doit pas suivre ces macros pour déterminer la plate-forme pour laquelle l'application a été compilée.
Au lieu de cela on doit utiliser le Q_OS_* ensemble de macros qui ont le but précis de déterminer le Système d'Exploitation.
L'ensemble se compose actuellement de les macros suivantes:
Référence: http://doc.qt.io/qt-4.8/qtglobal.html
NB: Comme mentionné par Wiz dans les commentaires, Qt 5 complètement enlevé les Q_WS_* jeu de macros, donc maintenant tout ce que vous pouvez utiliser sont Q_OS_* les principes.
Pour Qt5 j'utilise la suite:
Documentation: http://doc.qt.io/qt-5/qsysinfo.html
Voici la partie de mon code pour détecter windows ou mac au moment de l'exécution et de la version