crossplatform.ru

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

Vexar
  опции профиля:
сообщение 30.6.2009, 8:32
Сообщение #1


Студент
*

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

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




Репутация:   0  


Подскажите кто знает.
Есть консольная программа как ее запустить в GUI чтобы вывод был не в консоли а в GUI.
Есть класс MainWindow :

MainWindow::MainWindow()
{
?????????????????
setCentralWidget(????????????);
createActions();
createMenus();

setWindowIcon(QIcon(":/images/icon.ico"));

}


Может есть какой то класс который может это делать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Vexar
  опции профиля:
сообщение 2.7.2009, 6:09
Сообщение #2


Студент
*

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

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




Репутация:   0  


Все отлично программа запускается, но она не выводится в GUI.
Сделал так:
MainWindow::MainWindow()
{
    QProcess *process = new QProcess;
    process->start("./programma");
}


Я так понял чтобы вывод был в GUI нужно еще скомпоновать:
MainWindow::MainWindow()
{
    QWidget *widget = new QWidget;
    setCentralWidget(widget);

    QProcess *process = new QProcess;
    process->start("./programma");

    QVBoxLayout *layout = new QVBoxLayout;
    layout->addWidget(process);
    widget->setLayout(layout);
}

Но при компиляции вываливается ошибка: нет подходящей функции для вызова ‘QVBoxLayout::addWidget(QProcess*&)’
Подскажите куда дальше копать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Sokoloff
  опции профиля:
сообщение 2.7.2009, 18:51
Сообщение #3


Участник
**

Группа: Участник
Сообщений: 237
Регистрация: 1.4.2009
Из: Москва
Пользователь №: 654

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




Репутация:   11  


Цитата(Vexar @ 2.7.2009, 7:09) *
Все отлично программа запускается, но она не выводится в GUI.


QProcess - это невизуальный класс. Для отображения надо перехватить вывод, когда на STDOUT или STDERR появляются данные QProcess генерит сигналы readyReadStandardOutput или readyReadStandardError. Напиши обработчики этих сигналов в которых читай поступившие данные(см раздел "Communicating via Channels" на http://www.doc.crossplatform.ru/qt/4.5.0/qprocess.html), и выводи эти данные в какой-либо визуальный виджет.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


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


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


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 16.7.2025, 9:06