Название: перехват stdout в Linux Отправлено: izoomer от Ноябрь 20, 2006, 11:56 QT-4.2
Программа запускает скрипт. Этот скрипт выводит на консоль некий текст. Как перехватить этот текст в программе на QT? Спасибо. Название: перехват stdout в Linux Отправлено: Tonal от Ноябрь 20, 2006, 12:09 См QProcess
Название: перехват stdout в Linux Отправлено: izoomer от Ноябрь 20, 2006, 12:32 использую startDetached
два вопроса: 1.Как перехватить все таки stdout. 2.Как получить сигнал о заверешнии запущенного процесса. Название: перехват stdout в Linux Отправлено: Tonal от Ноябрь 20, 2006, 13:05 startDetached - создаёт независимый процесс. Для него нет способа перехватить stdout, или получить сигнал о завершении средствами Qt.
Создавай объект QProcess и используй start. Название: перехват stdout в Linux Отправлено: izoomer от Ноябрь 20, 2006, 14:09 запускаю процесс через start но он не выполняется, т.е. пишет в консоле
QProcess: Destroyed while process is still running А если через startDetached то все ОК Название: перехват stdout в Linux Отправлено: Dendy от Ноябрь 20, 2006, 14:54 Прибил екземпляр QProcess, пока программа ещё не завершилась. Так делать нехорошо. ТьІ его случайно не в стеке создал?
Название: перехват stdout в Linux Отправлено: Tonal от Ноябрь 20, 2006, 14:56 Покажи код.
Судя по сообщению, у тебя объект QProcess умирает раньше, чем оканчивается запущенный им процесс. Ты читать умеещь? Причитай внимательно первых 3 абзаца описания QProcess в ассистенте! Название: перехват stdout в Linux Отправлено: izoomer от Ноябрь 20, 2006, 15:47 вот код
Код:
при таком коде вышеуказанная ошибка пропала(скрипты выполняются), однако появилась новая при старте скрипта в консоле выходит две одинаковые строки с ошибкой Object::connect: No such signsl QProcess::readyReadStandartOutput() Object::connect: No such signsl QProcess::readyReadStandartOutput() протупил. readyReadStandardOutput() Название: перехват stdout в Linux Отправлено: Dendy от Ноябрь 20, 2006, 17:33 Отож :) Если Qt говорит, что такого сигнала нет - знач нет.
Название: перехват stdout в Linux Отправлено: bigirbis от Ноябрь 20, 2006, 20:39 void QProcess::readyReadStandardOutput () [signal]
Название: перехват stdout в Linux Отправлено: izoomer от Ноябрь 20, 2006, 23:24 Всем спасибо.
Справился с вашей помощью. |