У меня есть приложение Qt с графическим интерфейсом, и я хотел бы напечатать версию в stdout, когда передал аргумент --version
.
Это хорошо работает в macOS, но в Windows я не могу печатать в stdout.
Вот минимальный пример:
stdout.pro
QT += core
QT += gui
QT += widgets
SOURCES += main.cpp
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
должен использоваться для печати на стандартный вывод, но я не хочу видеть терминал при запуске приложения.Есть ли обходной путь для этого?
Stdout должен быть напечатан, только если приложение вызывается из терминала.