我正在寻找一些可用于检查我的应用程序是在手机/平板电脑还是计算机上执行的代码。这是一个示例来解释我在做什么:
#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
你怎么看?我是在重新发明轮子吗?
最佳答案
没有(据我所知)预先制作的#defines 的原因是移动、桌面和嵌入式的定义是模糊的。例如,Q_OS_QNX 与 Q_OS_BLACKBERRY 一起设置,Q_OS_DARWIN 在 Q_OS_IOS 和 Q_OS_MACX 上设置。 Android 上的 Q_OS_LINUX 存在类似问题,然后围绕 Windows 版本存在一系列混淆。
如果您建议的定义适用于您的用例,我认为这是一种完全合理的处理方式。不过,我可能会对 Q_OS_foo 使用不同的命名方案。
关于android - Qt 检查平台类型 : Mobile or Desktop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28811046/