如何在 cross-platform 应用程序中使用 QtWinExtras
How to use QtWinExtras in cross-platform application
我应该分开模块并且 header 包含条件语句,例如
/// .pro file
win32:QT += winextras
/// .cpp file
#ifdef Q_OS_WIN
#include <QtWin>
#endif
/// ... later
#ifdef Q_OS_WIN
QWinTaskbarButton *taskbarButton = new QWinTaskbarButton(this);
#endif
或者我可以省略那些条件吗?
如果你想为多个平台编译你的项目,你一定要有条件地使用它们。这是因为 winextras
、x11extras
、macextras
和 androidextras
等模块仅适用于特定的 OS。例如在 Linux 上,qmake 在制作使用 winextras
的项目时会给你错误。
除非你只想为特定平台编译它,否则没有必要让它成为条件。所以这完全取决于您和您的用例。
我应该分开模块并且 header 包含条件语句,例如
/// .pro file
win32:QT += winextras
/// .cpp file
#ifdef Q_OS_WIN
#include <QtWin>
#endif
/// ... later
#ifdef Q_OS_WIN
QWinTaskbarButton *taskbarButton = new QWinTaskbarButton(this);
#endif
或者我可以省略那些条件吗?
如果你想为多个平台编译你的项目,你一定要有条件地使用它们。这是因为 winextras
、x11extras
、macextras
和 androidextras
等模块仅适用于特定的 OS。例如在 Linux 上,qmake 在制作使用 winextras
的项目时会给你错误。
除非你只想为特定平台编译它,否则没有必要让它成为条件。所以这完全取决于您和您的用例。