![]() |
|
|
![]()
|
|
| loneybibi |
|
|||
|
Любитель ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 28.5.2010 Где: Донецк (Украина) Репутация: 3 Всего: 3 |
Есть консольное приложение и другое с GUI. Допустим у приложения с GUI есть QTextEditor и запускаю я консольное приложение через QProcess::start(). Как сделать так что бы вывод консольного приложения попал QTextEditor ?
Вопрос второй. Как перехватить в виде текста для записи в лог файл все что выводит qDebug(). Заранее спасибо! -------------------- Red Hat Fedora 17 Qt 4.8.1 (x64), GCC 4.4.3, G++ 4.4.3, QtCreator 2.4.1 |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
Вот тема - http://forum.vingrad.ru/index.php?showtopi...t&p=2505761 практически один в один. Я там выложил классик-обёртку над консольным приложением и пример использования.
Добавлено через 52 секунды а вот - http://forum.vingrad.ru/index.php?showtopi...t&p=2464402 ответ на второй вопрос -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| loneybibi |
|
|||
|
Любитель ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 28.5.2010 Где: Донецк (Украина) Репутация: 3 Всего: 3 |
Спасибо, буду пока разбираться!
-------------------- Red Hat Fedora 17 Qt 4.8.1 (x64), GCC 4.4.3, G++ 4.4.3, QtCreator 2.4.1 |
|||
|
||||
| loneybibi |
|
|||
|
Любитель ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 28.5.2010 Где: Донецк (Украина) Репутация: 3 Всего: 3 |
borisbn, не будет ли вызывать зависание GUI такой способ вывода если запущенный процесс будет выполнять длительную операцию? Или лучше вынести перехват консоли в отдельный поток?
-------------------- Red Hat Fedora 17 Qt 4.8.1 (x64), GCC 4.4.3, G++ 4.4.3, QtCreator 2.4.1 |
|||
|
||||
| loneybibi |
|
|||
|
Любитель ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 28.5.2010 Где: Донецк (Украина) Репутация: 3 Всего: 3 |
Первую проблему решил.
Кому нужно и интересно взял предложенный вариант borisbn чуток переделал и поместил в отдельный поток на всякий случай что бы не вызывать зависание GUI (хотя не проверял может быть такое или нет, лениво было Осталась маленькая проблема, удалить из полученной строки вывода последний символ переноса на новую строку "\n". Кстати кто подскажет как это сделать? Вообщем получилась вот такая штука(ниже прикрепил готовый проект):
Присоединённый файл ( Кол-во скачиваний: 11 )
untitled.zip 3,03 Kb-------------------- Red Hat Fedora 17 Qt 4.8.1 (x64), GCC 4.4.3, G++ 4.4.3, QtCreator 2.4.1 |
|||
|
||||
| loneybibi |
|
|||
|
Любитель ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 28.5.2010 Где: Донецк (Украина) Репутация: 3 Всего: 3 |
Разобрался и со второй проблемой но как и с первой остались пару мелких вопросов.
Сделал по примеру Qt и добавил свою реализацию записи вывода Debug в файл. Отсюда вопрос, правильно ли я сделал вывод в файл? При каждом поступлении новой записи я каждый раз открываю файл, пишу и закрываю. Правильно ли это, не накладно для программы, и вообще правильно ли я реализовал сам вывод в файл? Или лучше как то один раз открыть файл и писать в него? Вот реализация:
Это сообщение отредактировал(а) loneybibi - 14.11.2012, 02:34 -------------------- Red Hat Fedora 17 Qt 4.8.1 (x64), GCC 4.4.3, G++ 4.4.3, QtCreator 2.4.1 |
|||
|
||||
| borisbn |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
нет. не будет, т.к.
так что без потока можно спокойно обойтись именно в этой реализации, когда в файл не пишется QtDebugMsg, а пишутся только критические вещи, думаю, что нет разницы (ведь, не будет же в программе каждую миллисекунду происходить QtCriticalMsg или QtFatalMsg... а если будут, то ИМХО нужно что-то предпринимать...) А вот если записывать и QtDebugMsg, то да... такой подход очень накладный. Лучше но не забывать вызывать QFile::flush() Это сообщение отредактировал(а) borisbn - 14.11.2012, 08:44 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||
|
|||||
| loneybibi |
|
|||
|
Любитель ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 28.5.2010 Где: Донецк (Украина) Репутация: 3 Всего: 3 |
Спасибо большое!
-------------------- Red Hat Fedora 17 Qt 4.8.1 (x64), GCC 4.4.3, G++ 4.4.3, QtCreator 2.4.1 |
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |