Пишите в стандартный вывод из приложения Qt Gui на Windows - PullRequest
0 голосов
/ 08 июля 2019

У меня есть приложение 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 должен быть напечатан, только если приложение вызывается из терминала.

...