Qt中Q_WS_ *和Q_OS_ *有什么区别?

时间:2010-11-13 06:58:42

标签: qt

Qt中Q_WS_ *和Q_OS_ *之间的区别是什么?你何时使用一个而不是另一个?我知道操作系统是在操作系统上定义的,并且WS是为窗口系统定义的,但我看不到你何时使用它而不是另一个。例如,Q_WS_MAC和Q_OS_MAC不会相同吗?什么是一般规则,我可以为每个使用一些示例用例吗?

3 个答案:

答案 0 :(得分:4)

如您所知,WS适用于Window System,而OS适用于操作系统。 在Q_OS_MAC下,您可以使用Q_WS_X11运行Qt。

除非您正在测试特定于WS的某些功能(或缺陷),否则您可能正在寻找操作系统。

答案 1 :(得分:4)

简单。在需要特定于操作系统的代码时使用Q_OS标记,在需要特定于窗口系统的代码时使用Q_WS

例如,Maemo设备的用户界面(Q_WS_MAEMO_5)通常需要与Linux桌面不同,但两者仍然是Q_OS_LINUX

答案 2 :(得分:1)

应该注意的是,QT 5中不再定义Q_WS_MAC,您必须使用Q_OS_MAC,如下所示:http://doc.qt.io/qt-5/osx-issues.html