Могу ли я увидеть вывод программы в Qt-Creator? - PullRequest
9 голосов
/ 13 ноября 2010

Я пишу простую программу OpenGL с Qt Creator, которая в основном создает QGLWidget, показывает его и запускает цикл приложения. Обычно мне больше нравится отлаживать с диагностическими сообщениями, включенными и выключенными символами препроцессора, которые используют настоящий отладчик, часы и т. Д. В Qt Creator у нас есть вкладка под названием Вывод приложения , но все, что я вижу, это Msgstr "Запуск xxx.exe. Xxx.exe завершен с кодом 0". Нет выводимых данных std::cout или std::cerr. Теперь я знаю, что могу запустить свое приложение из cmd.exe (да, я использую Windows, мне это нравится: P) и посмотреть вывод, но хотелось бы видеть вывод непосредственно из IDE. Это возможно? Спасибо

Ответы [ 4 ]

9 голосов
/ 13 ноября 2010

Обычно панель Application Output работает нормально.Вы уверены, что увидите вывод cmd.exe (вы действительно пробовали?)?Обычно это отключается для приложений пользовательского интерфейса, чтобы избежать появления окон консоли.Попробуйте CONFIG += console.Также проверьте, видите ли вы qDebug () сообщений в Приложении приложения .

5 голосов
/ 16 августа 2012

просто #include <QDebug> и затем используйте qDebug вместо cout как

qDebug() << "you just clicked ok";

также это работает

#include <QTextStream>
QTextStream out(stdout);
out << "\nHello World!\n";

добавление CONFIG += console в файл .pro мне не помогло. Интересно почему?

я только что обнаружил, что должен добавить «endl»; чтобы cout работал как

cout << "print this" << endl;
3 голосов
/ 13 ноября 2010

В качестве альтернативы вы можете проверить настройку «запустить в консоли» в параметрах «Проект» -> «Выполнить».Откроется новое окно консоли и отобразятся все выходные данные консоли (если, конечно, используется CONFIG += console).

2 голосов
/ 02 декабря 2013

Попробуйте: Инструменты -> Параметры На вкладке «Общие» «Среда» измените запись терминала с:

    x-terminal-emulator -e 

на

    xterm -e
...