我有一个GUI Qt应用程序,我想在传递--version
参数时将版本打印到stdout。
这在macOS上很好用,但是在Windows上,我无法打印到stdout。
这是一个最小的示例:
QT += core
QT += gui
QT += widgets
SOURCES += main.cpp
#include <QApplication>
#include <QWidget>
#include <QTextStream>
int main(int argc, char * argv[])
{
QApplication app(argc, argv);
QWidget w;
w.show();
// this will print on macOS but not Windows
QTextStream(stdout) << QString("Hello world");
return app.exec();
}
我已经阅读到CONFIG += console
必须用于打印到标准输出,但是我不想在启动应用程序时看到终端。有解决方法吗?
仅当从终端调用应用程序时,才必须打印标准输出。