Russian Qt Forum
Ноябрь 25, 2024, 18:24
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Вопросы новичков
>
Gui-приложение в консольном режиме
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Gui-приложение в консольном режиме (Прочитано 7364 раз)
sergek
Гипер активный житель
Offline
Сообщений: 872
Мы должны приносить пользу людям.
Gui-приложение в консольном режиме
«
:
Январь 09, 2013, 12:47 »
Коллеги, тоже столкнулся с необходимостью запуска приложения с графическим интерфейсом из командной строки. При этом оконный интерфейс не вызывается, и есть необходимость вывода в консоль некоторой информации во время выполнения программы.
Сделал, на мой взгляд, по-простому - если при запуске из командной строки указаны аргументы, то программа не открывает главное окно и работает, как обычное консольное приложение. Без аргументов - взлетает как оконное приложение.
Столкнулся с тем, что под Windows ничего не смог вывести в stdout. Внимательно изучил все, что попалось по этой теме в форуме. Понял следующее - для gui-приложения вывод в консоль невозможен (ну, или почти невозможен, но эти варианты меня не заинтересовали из-за их неэстетичности;). Можно, конечно, в проект добавить CONFIG +=console, но тогда при работе с оконным интерфейсом лишней оказывается консоль, которая болтается, как черный флаг.
А вопрос в следующем - почему в Linux (Ubuntu 12.04) моя программа при запуске из терминала ведет себя, как я ожидал - как консольная, и выводит в командную строку все, что нужно?
Записан
Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: Gui-приложение в консольном режиме
«
Ответ #1 :
Январь 09, 2013, 13:25 »
Цитата: sergek от Январь 09, 2013, 12:47
А вопрос в следующем - почему в Linux (Ubuntu 12.04) моя программа при запуске из терминала ведет себя, как я ожидал - как консольная, и выводит в командную строку все, что нужно?
Хороший вопрос.
Наверное потому, что в linux есть нормальная поддержка консоли?
Записан
Bepec
Гость
Re: Gui-приложение в консольном режиме
«
Ответ #2 :
Январь 09, 2013, 13:30 »
Это не "нормальная поддержка консоли", а особенность ОС.
Вроде в винде спокойно выводится в консоль, если туда перенаправить вывод в мейне. Давно было дело, но овродя всё работало.
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: Gui-приложение в консольном режиме
«
Ответ #3 :
Январь 09, 2013, 14:59 »
Цитата: Bepec от Январь 09, 2013, 13:30
Это не "нормальная поддержка консоли", а особенность ОС.
А какое отношение ОС имеет консоли? И что это за особенность такая?
Цитата: Bepec от Январь 09, 2013, 13:30
Вроде в винде спокойно выводится в консоль, если туда перенаправить вывод в мейне. Давно было дело, но овродя всё работало.
Теоретик? А ты попробуй.
Что бы там что-то вывести в консоль, нужно делать специальные телодвижения. Почитай MSDN.
«
Последнее редактирование: Январь 09, 2013, 15:01 от Old
»
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: Gui-приложение в консольном режиме
«
Ответ #4 :
Январь 09, 2013, 15:28 »
Цитата: Bepec от Январь 09, 2013, 15:26
Цитировать
Что бы там что-то вывести в консоль, нужно делать специальные телодвижения. Почитай MSDN. Подмигивающий
Цитировать
Вроде в винде спокойно выводится в консоль, если туда перенаправить вывод в мейне.
Ключевое слово "Вроде".
Проверял?
Записан
Bepec
Гость
Re: Gui-приложение в консольном режиме
«
Ответ #5 :
Январь 09, 2013, 15:32 »
Цитировать
Вроде в винде спокойно выводится в консоль, если туда перенаправить вывод в мейне.
Давно было дело, но овродя всё работало.
Читать умеете?
И да, это предложение, высказанное лично от меня, относится ко мне и моей программе и означает, что довольно давно (года полтора назад) я имел необходимость сращивания консольной и GUI утилиты путём передачи данных через консоль. Судя о том, что неприятных воспоминаний у меня не осталось, имеет место уверенность (%70), что всё работало, заказчик был доволен и счастлив.
«
Последнее редактирование: Январь 09, 2013, 16:41 от Bepec
»
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: Gui-приложение в консольном режиме
«
Ответ #6 :
Январь 09, 2013, 15:33 »
Цитата: Bepec от Январь 09, 2013, 15:26
Крайний случай - когда GUI не грузится. Когда всё летит к чертям. И тогда имеется возможно работать в голой консоли, при помощи консольных же утилит восстановить систему/проверить диск/почистить реестр.
А у меня много консолей запущенно и я ими регулярно пользуюсь, хотя и GUI есть. Поэтому, для меня консоль обычная/обыденная программа.
Записан
Bepec
Гость
Re: Gui-приложение в консольном режиме
«
Ответ #7 :
Январь 09, 2013, 15:46 »
Я просто оставлю это здесь. Той статьи, по которой делал я - не нашёл. У меня было более извращённое решение
http://habrahabr.ru/post/130093/
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...