Qt стандартный вывод. Кут не печатает - PullRequest
9 голосов
/ 27 сентября 2011

Я видел этот вопрос уже на этом форуме, но я не знаю, почему предлагаемый ответ не работает в моем случае.Поэтому я пытаюсь попросить другое решение.

Я новичок в программировании на C ++ Qt.Я только что запустил мой Qt crator под Linux.

Я не понимаю, почему мой:

cout << "This does not appear";

не печатает в консоли, в то время как qdebug

qDebug() << "This appears";

thisчто содержится в моем .pro файле:

QT       += core gui

TARGET = aaa
TEMPLATE = app


SOURCES += main.cpp\
        mainwindow.cpp \
    IeplcModule.cpp

HEADERS  += mainwindow.h \
    IeplcModule.h

FORMS    += mainwindow.ui

#enable console
CONFIG += console

Есть идеи?

Приветствия,

Стефано

Ответы [ 4 ]

22 голосов
/ 27 сентября 2011

Попробуйте с cout << "asdf" << endl;

Возможно, Qt настраивает iostream для сброса только на новой строке.

1 голос
/ 01 марта 2019

При отладке с помощью CDB (отладчик Windows) и запуске приложения не в специальном окне терминала, а на панели вывода QtCreator возникает проблема с std::cout/std::cerr. qDebug работает, потому что у него есть хитрость для этого случая. Таким образом, единственным решением в этом случае является включение опции «запустить в терминале». Для получения дополнительной информации, пожалуйста, перейдите по ссылке выше на трекер ошибок Qt.

1 голос
/ 27 сентября 2011

Возможно ли, что STDOUT перенаправляет? qDebug печатает в STDERR по умолчанию .

0 голосов
/ 11 сентября 2012

Ты #include <iostream>?Я не видел никаких включений в коде.Я предполагаю, что qdebug и cout очень похожи.

...