crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Перехват вывода консольного приложения
aleksey120780
  опции профиля:
сообщение 8.6.2009, 20:16
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 2
Регистрация: 8.6.2009
Пользователь №: 813

Спасибо сказали: 0 раз(а)




Репутация:   0  


Как запустить консольное приложение в GUI и перехватить его вывод?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
panter_dsd
  опции профиля:
сообщение 8.6.2009, 20:18
Сообщение #2


Жаждущий знаний
***

Группа: Участник
Сообщений: 254
Регистрация: 1.1.2009
Из: Санкт-Петербург
Пользователь №: 474

Спасибо сказали: 32 раз(а)




Репутация:   3  


Читай в ассистенте про QProcess.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
aleksey120780
  опции профиля:
сообщение 8.6.2009, 20:44
Сообщение #3


Новичок


Группа: Новичок
Сообщений: 2
Регистрация: 8.6.2009
Пользователь №: 813

Спасибо сказали: 0 раз(а)




Репутация:   0  


Меня интересует как вовремя выполнения консольного приложения, считавать его вывод? Еслм можно небольшой пример!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
panter_dsd
  опции профиля:
сообщение 8.6.2009, 20:50
Сообщение #4


Жаждущий знаний
***

Группа: Участник
Сообщений: 254
Регистрация: 1.1.2009
Из: Санкт-Петербург
Пользователь №: 474

Спасибо сказали: 32 раз(а)




Репутация:   3  


void MainWindowImpl::slotPrintProcess()
{
    QTextDocument* document = qteOutput->document();
    QTextCodec* codec = QTextCodec::codecForName("IBM 866");
    document->setPlainText(document->toPlainText()+codec->toUnicode(qpBackUpingProcess->readAllStandardOutput().data()));
}
/////////////////////////
    qpBackUpingProcess = new QProcess(this);
    connect(qpBackUpingProcess,
                SIGNAL(readyRead()),
                this,
                SLOT(slotPrintProcess()));
    qpBackUpingProcess->start(qcbArchivatorPath->currentText(), qslCommand);

Это кусок из моей прожки, сейчас времени нет нормальный пример сделать, но, думаю, идея будет понятна.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 8.6.2009, 21:58
Сообщение #5


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


Цитата(panter_dsd @ 8.6.2009, 21:50) *
<------><------><------><------>

А че это за фишка?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 8.6.2009, 22:00
Сообщение #6


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


panter_dsd, Тэг код понимает табуляцию
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
DmP
  опции профиля:
сообщение 9.6.2009, 0:02
Сообщение #7


Студент
*

Группа: Участник
Сообщений: 61
Регистрация: 11.3.2008
Пользователь №: 116

Спасибо сказали: 15 раз(а)




Репутация:   2  


panter_dsd, а почему не используешь qteOutput->append() ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
panter_dsd
  опции профиля:
сообщение 9.6.2009, 6:21
Сообщение #8


Жаждущий знаний
***

Группа: Участник
Сообщений: 254
Регистрация: 1.1.2009
Из: Санкт-Петербург
Пользователь №: 474

Спасибо сказали: 32 раз(а)




Репутация:   3  


Цитата(Litkevich Yuriy @ 8.6.2009, 23:00) *
panter_dsd, Тэг код понимает табуляцию

Копировал из MC, это он так табуляцию извратил.

Цитата
panter_dsd, а почему не используешь qteOutput->append() ?

ХЗ, код давно писал, может просто не нашел такой функции. :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 21.12.2024, 19:00