Название: Gui-приложение в консольном режиме Отправлено: sergek от Январь 09, 2013, 12:47 Коллеги, тоже столкнулся с необходимостью запуска приложения с графическим интерфейсом из командной строки. При этом оконный интерфейс не вызывается, и есть необходимость вывода в консоль некоторой информации во время выполнения программы.
Сделал, на мой взгляд, по-простому - если при запуске из командной строки указаны аргументы, то программа не открывает главное окно и работает, как обычное консольное приложение. Без аргументов - взлетает как оконное приложение. Столкнулся с тем, что под Windows ничего не смог вывести в stdout. Внимательно изучил все, что попалось по этой теме в форуме. Понял следующее - для gui-приложения вывод в консоль невозможен (ну, или почти невозможен, но эти варианты меня не заинтересовали из-за их неэстетичности;). Можно, конечно, в проект добавить CONFIG +=console, но тогда при работе с оконным интерфейсом лишней оказывается консоль, которая болтается, как черный флаг. А вопрос в следующем - почему в Linux (Ubuntu 12.04) моя программа при запуске из терминала ведет себя, как я ожидал - как консольная, и выводит в командную строку все, что нужно? Название: Re: Gui-приложение в консольном режиме Отправлено: Old от Январь 09, 2013, 13:25 А вопрос в следующем - почему в Linux (Ubuntu 12.04) моя программа при запуске из терминала ведет себя, как я ожидал - как консольная, и выводит в командную строку все, что нужно? Хороший вопрос. :)Наверное потому, что в linux есть нормальная поддержка консоли? Название: Re: Gui-приложение в консольном режиме Отправлено: Bepec от Январь 09, 2013, 13:30 Это не "нормальная поддержка консоли", а особенность ОС.
Вроде в винде спокойно выводится в консоль, если туда перенаправить вывод в мейне. Давно было дело, но овродя всё работало. Название: Re: Gui-приложение в консольном режиме Отправлено: Old от Январь 09, 2013, 14:59 Это не "нормальная поддержка консоли", а особенность ОС. А какое отношение ОС имеет консоли? И что это за особенность такая? :)Вроде в винде спокойно выводится в консоль, если туда перенаправить вывод в мейне. Давно было дело, но овродя всё работало. Теоретик? А ты попробуй.Что бы там что-то вывести в консоль, нужно делать специальные телодвижения. Почитай MSDN. ;) Название: Re: Gui-приложение в консольном режиме Отправлено: Old от Январь 09, 2013, 15:28 Цитировать Что бы там что-то вывести в консоль, нужно делать специальные телодвижения. Почитай MSDN. Подмигивающий Цитировать Вроде в винде спокойно выводится в консоль, если туда перенаправить вывод в мейне. Проверял? Название: Re: Gui-приложение в консольном режиме Отправлено: Bepec от Январь 09, 2013, 15:32 Цитировать Вроде в винде спокойно выводится в консоль, если туда перенаправить вывод в мейне. Давно было дело, но овродя всё работало. Читать умеете? :) И да, это предложение, высказанное лично от меня, относится ко мне и моей программе и означает, что довольно давно (года полтора назад) я имел необходимость сращивания консольной и GUI утилиты путём передачи данных через консоль. Судя о том, что неприятных воспоминаний у меня не осталось, имеет место уверенность (%70), что всё работало, заказчик был доволен и счастлив. Название: Re: Gui-приложение в консольном режиме Отправлено: Old от Январь 09, 2013, 15:33 Крайний случай - когда GUI не грузится. Когда всё летит к чертям. И тогда имеется возможно работать в голой консоли, при помощи консольных же утилит восстановить систему/проверить диск/почистить реестр. А у меня много консолей запущенно и я ими регулярно пользуюсь, хотя и GUI есть. Поэтому, для меня консоль обычная/обыденная программа.Название: Re: Gui-приложение в консольном режиме Отправлено: Bepec от Январь 09, 2013, 15:46 Я просто оставлю это здесь. Той статьи, по которой делал я - не нашёл. У меня было более извращённое решение :D
http://habrahabr.ru/post/130093/ |