Название: Консоль stdin/stdout в GUI приложении Отправлено: Тамбовчанин от Февраль 24, 2010, 16:58 Привет всем!
Есть следующая задача. Надо сделать GUI приложение с панельками и кнопочками, вызывающими команды, но при этом должна быть возможность вводить эти команды вручную, типа через консоль. Самый близки аналог - Автокад. Там и кнопочки, и команды внизу экрана можно вводить. В принципе форма с кнопочками уже есть и работает, также есть консольное приложение, которое получает от пользователя данные, формирует в памяти данные того же класса, и может даже файл записать. Как это совместить в одной форме? Можно ли какой-нибудь GUI-widget повесить и совместить его с sdtin/stdout? Или лучше через QProcess совместить и обмен данными наладить? Название: Re: Консоль stdin/stdout в GUI приложении Отправлено: Akaiten от Февраль 24, 2010, 17:30 Может после ввода команды запускать ваше консольное приложение с соответствующими параметрами? Ну, а если следовать идее, то консольное приложение нафиг не нужно, парсите введённую команду и выполняете необходимые действия. Ведь нажатие на кнопочку тоже действие ;)
Название: Re: Консоль stdin/stdout в GUI приложении Отправлено: Тамбовчанин от Февраль 25, 2010, 11:46 Это все понятно, если кнопки первичны. Но хотелось бы именно сделать, чтобы первичным была консоль с возможностью ввода команды вручную, а кнопки по необходимости иницировали ввод в консоль названия команды и перевод ее в ожидание ввода параметров.
Чтобы на первом этапе не рисовать кучу форм для ввода, а воспользоваться вводом данных через stdin. Вопрос в том как консольный ввод/вывод подсоединить к форме главного окна. Еще один аналог приходит на ум как в IDE - там же есть консоль вывода sdtout. Название: Re: Консоль stdin/stdout в GUI приложении Отправлено: Akaiten от Февраль 25, 2010, 13:16 Почитай внимательно описание QProcess. Он наследуется от QIODevice и позволяет использовать методы read() и write() для работы со стандартными потоками ввода/вывода. Попробуй, сам не пробовал.
Название: Re: Консоль stdin/stdout в GUI приложении Отправлено: nn1317 от Февраль 25, 2010, 22:29 >Он наследуется от QIODevice и позволяет использовать методы read() и write() для работы со стандартными потоками ввода/вывода. Попробуй, сам не пробовал.
вообще под винду это известная проблема, что нет возможности слать вывод в консоль в приложении которое использует модуль GUI. я это застал еще в начале 4й ветки, подозреваю что так всегда было) Название: Re: Консоль stdin/stdout в GUI приложении Отправлено: Тамбовчанин от Февраль 26, 2010, 19:37 Ну я не под винду пишу, а под X, так что может получится?
Название: Re: Консоль stdin/stdout в GUI приложении Отправлено: BRE от Февраль 26, 2010, 19:43 Ну я не под винду пишу, а под X, так что может получится? Может получиться, если ты все таки посмотришь на QProcess. ;) |