Qt Creator вывод во встроенную консоль приложения?
Собственно все не пойму никак где отключить вывод в терминал(я хочу чтобы выводилось в вывод приложения(во встроенную консоль) а не в консоль. У меня Qt 5.1.1 + mingw компилятор на 8 венде) Захожу в Инструменты-Параметры-Среда-Основное. и не могу найти там где отключить вывод в консоль(там нету поля Терминал). Помогите плиз.
В какую консоль нужно вывести — во встроенную в приложение, в отдельное приложение (Terminal на OSX, gnome-terminal или xterm на Ubuntu, cmd.exe на Windows) или ещё куда-то?
P.S. Есть ещё галочка в настройках проекта (пятый режим, Ctrl+5), во вкладке «Запуск» («Run»).
во встроенную в приложение надо.
Тогда надо установить соответствующий qMsgHandler и печатать всё строго через qDebug/qWarning/qCritical, а не через printf-подобные функции или iostream.
ну я только начинаю учить язык Си, можно попоробнее,ато я не поняла как все-таки вывести во встроен. ?
Есть три возможности вывести в консоль:
- Открывать второе окно консоли при запуске приложения, как это обычно происходит в Visual Studio. Это действует по дефолту, если у проекта в файле .pro есть строка «CONFIG += console». Но если её нет, то установка строки не поможет: настройки уже сняты и сохранены в другом месте. А именно — в режиме настройки проекта (хоткей Ctrl+5), на вкладке Запуск (или «Run») есть галочка «Запускать в терминале» (или «Run in terminal»)
- Использовать панель вывода QtCreator (хоткей Alt+3), она умеет только выводить содержимое stdout/stderr и с помощью неё нельзя что-то ввести.
- Перенаправить вывод, созданный с помощью функций qDebug/qWarning/qCritical, во встроенную консоль внутри окна самого приложения. Для этого нужно реализовать виджет консоли (что само по себе непросто), а затем использовать qInstallMsgHandler для перенаправления вывода, реализовав добавление текста в свой виджет консоли.
P.S. Проблема решена, но текст пусть останется для кого-то ещё.
нашла в настройках проекта-отключила! вывелось ! СПАСибо! =) А чтобы автоматически всегда так было что надо сделать?
Можно выбирать шаблон проекта, у которого «CONFIG += console» не ставится автоматически: например, «Пустой проект Qt». А можно создать свой шаблон, подправив xml файл и положив папку с данными шаблона проекта в «/home/$USER/.config/QtProject/qtcreator/templates/wizards/».
Вот тут пример двух шаблонов проекта (одна папка — один шаблон).
Источник
qtcreator проблемы с консолью
Создал консольное приложение на C++, первый запуск — все нормально, открывается консоль и есть вывод. Второй раз и открывается просто пустая консоль, которая ни на что не реагирует (символы туда вводить можно, но это бесполезно). Пробовал и с konsole и с xterm. Версия qtcreator — 2.8.1
Дистрибутив: gentoo
DE: kde 4.12
qt 4.8.5
Как это побороть?
Если запускать отдельно из консоли то бинарь работает нормально.
А во встроенной консоли QtCreator возникает такая же проблема? P.S.: Чтобы переключиться на встроенную консоль — убрать галку «Run in terminal» (Projects -> Build & Run -> Desktop [Run] -> Run in terminal)
Нет, в нем все в порядке, но не работает ввод (cin)
Неужели никто не сталкивался с такой проблемой? Или просто никто не программирует на линуксе?
Я никогда не додумывался отлаживать программы с консольным вводом через встроенный терминал. Хотя именно Qt Creator-ом только и пользуюсь.
Советую осилить файлы, и делать ввод-вывод в них.
Но это все равно костыли и мне удобнее отдельный терминал, а не встроенный. И у тебя в qtcreator все работает?
Не, я нигде такое не использую, ни встроенный ни внутренний.
Но чтобы внешний терминал не работал — удивлен. Ни разу не замечал чтобы это было проблемой. При случае попробую — отпишусь.
Такое встречалось и у других, в убунте заметил похожее, но там была проблема с ptrace, у других решалась полным прописыванием пути до терминала (например /ust/sbin/konsole -e), но мне что-то не помогло.
У некоторых программ, например у Double Commander, есть проблема что если повторно вызываешь терминал (второе окно) — он ведет себя иначе, хотя казалось бы — да хоть сто штук и чо.
в том то и дело, что до этого терминал закрываю. При этом кажется не завершается процесс выполненной программы. Хотя такого не может быть, ведь нечему долго выполняться в «хеллоу ворлде»
Нет, в нем все в порядке, но не работает ввод (cin)
У меня тоже не работает (и скорее всего никогда не работало). Меня больше интересовал факт работы вывода.
Неужели никто не сталкивался с такой проблемой? Или просто никто не программирует на линуксе?
Я помню у меня были проблемы с консолью, но с такой проблемой как у тебя не сталкивался.
в том то и дело, что до этого терминал закрываю. При этом кажется не завершается процесс выполненной программы. Хотя такого не может быть, ведь нечему долго выполняться в «хеллоу ворлде»
Зачем гадать, если можно проверить это:
Но я думаю проблема скорее всего в самой среде.. Вижу несколько вариантов: 1) Костыльный: можно в настройках проекта сделать свою опцию запуска приложения. 2) Попробовать установить более новую среду разработки с сайта. 3) Искать в bugtracker’e ошибку и возможное решение.
Источник
Как запустить Qtcreator из терминала в Ubuntu?
Привет, я установил Qt с официальным установщиком qt (я не использовал пакет с именем «qtcreator»).
Мне нужно запустить QtCreator из терминала, но я не могу найти исполняемый файл.
Я использую Ubuntu 16.04.
4 ответа
Вероятно, вы можете найти исполняемый файл в каталоге opt, расположение которого будет следующим: / opt / Qt / Tools / QtCreator / bin, и вы можете запустить его через терминал как ./qtcreator
Пользователи подсистемы Windows Linux
Если вы используете Ubuntu в качестве подсистемы для win10, она находится в вашей папке AppData (установка с помощью команды sudo apt install): Также вы не можете запустить qtcreator из терминала, так как графический интерфейс не поддерживается по умолчанию. Сначала необходимо установить приложение X-сервера ( https://sourceforge.net/projects/xming/ ) и тогда вы можете запустить QT из терминала.
Или это в usr / lintian / overrides
Но вы не должны ничего менять внутри этого корня Linux, так как это может привести к потере данных.
Последний QtCreator по умолчанию должен быть установлен в
И у вас есть два варианта запуска: исполняемый файл qtcreator или сценарий оболочки qtcreator.sh
Чтобы запустить исполняемый файл, введите
Чтобы запустить сценарий оболочки, введите
Какой из них использовать: В верхней части qtcreator.sh говорится, что если у вас есть конфликты имен библиотек (например, наличие одинаковых имен библиотек, используемых qtcreator с вашим собственным LD_LIBRARY_PATH ), вы можете начать с помощью сценария оболочки, а не голого исполняемого файла.
Для меня это был не каталог /opt , а место, которое я выбрал в каталоге /home/user/ . Более конкретно: /home/user/Qt5.12.1/Tools/QtCreator/bin/qtcreator
Источник
Консольное приложение в QT
Ubuntu 10.04, QtCreator 32 bit Делаю консольное приложение, ставлю галочку Проект> Настройки запуска-> подробнее-> Запускать в терминале Терминал запускаеться, но программа не выполняеться, в чем проблема?
губит людей не пиво, губит людей Qt
а как ты определил, что программа не выполняется? может она просто ничего не делает?
>Консольное приложение в QT
Отучает от велосипедостроительства. Qt != GUI.
не суть) jtootf она просто должа сообщение в ней вводить)
Всё, что есть в qt кроме гуя — велосипеды.
А если приложение ориентировано не только под Linux?
Писать кроссплатформенно можно и без кутей, ваш К.О.
using namespace std; int main(int argc, char *argv[]) < QCoreApplication a(argc, argv);
printf(«Hello World\n»); cout ( 16.07.10 00:37:35 )
Честно, я теряюсь как обойтись при необходимости писать кроссплатформенно без Qt, когда речь заходит о поддержке сети и различных БД, и необходимостью преобразования изображений (размеры, формат, фильтры). Это то, с чем лично мне приходилось сталкиваться.
писать кроссплатформенное, используя готовые велосипеды, быстрее, чем велосипедить самому. ваш К.О.
Народ, тут не стоит вопрос что лучше и за чем это надо) Просто помогите с проблемой)
от Proud_Pank 16.07.10 00:40:58
УМВР. Покажи полностью main.cpp и .pro.
надо добавить ещё return a.exec();
от Proud_Pank 16.07.10 00:40:58
>необходимостью преобразования изображений (размеры, формат, фильтры)
Для этого есть ImageMagick.
нужно что бы сообщение, в самом терминале появлялось
нужно что бы сообщение, в самом терминале появлялось
а где оно сейчас появляется?
Ему нужно в qt-creator.
Извиняюсь, вместо printf() fprintf(stderr, «Hello»);
Или же cerr ★ ( 16.07.10 01:12:10 )
Подозреваю, вы просто забыли добавить в pro-файл:
Которая в свою очередь отвечает за флаг линковки: /SYBSYSTEM:CONSOLE. В итоге программа выодняется, просто этого не видно в терминале.
В отличии от Линукса, где консоль перехватывает вывод в stdout, в Windows для этого нужен бубен на этапе сборки.
Забирай желчь и метан и отправляйся на винфак.
Использовать один большой, качественный, кроссплатформенный велосипед лучше и надежнее, чем кучу мелких.
Универсальный монстр это не «unix way», а «windoze crap».
>Универсальный монстр это не «unix way», а «windoze crap».
именно из-за таких фанатиков как ты гном катится в УГ
Тоже, не чего в терминале не выводиться
cout ( 16.07.10 11:54:03 )
Тоже самое будет, endl, тут не зачем
Странно, у меня работает. Тогда запускайте в отдельном терминале.
> Всё, что есть в qt кроме гуя — велосипеды.
В отличии от камы — на них ездить приятно
Я минимально изменил код тс, так что не пукай.
Мы говорим про кросс-платформенность. unix-way в современных реалиях (начичие таких ОС как Windows) тут не прокатывает.
попробуй без дизайнера сделать.
> Я минимально изменил код тс, так что не пукай.
Мимо, я не про тебя.
Ну так и смотри кому отвечаешь.
Старина, у тебя, пожалуй, терминал исчезает слишком быстро. Или разъясни, что значит «не выполняется».
Предлагаешь пользователю поставить кроме своего велосипеда ещё добрый десяток библиотек вроде ImageMagick?
Появляеться и все. Не чего не происходит
А если запустить самостоятельно из cmd, предравительно скопировав в директорию с exe-файлом QtCore.dll? И да, покажите pro-файл и исходники, всяко быстрее подсказать будет.
У него уже Ubuntu 10.04, причем тут cmd, exe?
Как уже сказали, было бы неплохо, если бы ты скинул архив с исходниками, например, на rghost.
Честно, я теряюсь как обойтись при необходимости писать кроссплатформенно без Qt,
когда речь заходит о поддержке сети
да и опять же ручками всё просто пишется, если не надо ничего умного
и необходимостью преобразования изображений (размеры, формат, фильтры).
lib* (-jpeg, -png, etc) — тысячи их 🙂
Использовать один большой, качественный, кроссплатформенный велосипед лучше и надежнее, чем кучу мелких.
1 велосипед общего назначения будет работать хуже чем 10 узкоспециализированных
> У него уже Ubuntu 10.04, причем тут cmd, exe?
Источник