Частенько нужно написать GUI к уже готовой программе имеющей консольный интерфейс.
В Qt эта задача существенно упрощена. Нам понадобится всего несколько строк кода для вывода результат работы программы в форму.
Итак. Сначала создадим какой нибудь «hello world» и откомпилируем его:
#include <iostream>
using namespace std;
int main(int argc,char **argv) {
cout << "Hello world!" << endl;
return 0;
}
Я использую linux, так что откомпилировал так:
g++ prog.cpp -o prog
Если у вас Windows создайте проект в студии и запаситесь бинарником prog.exe.
Теперь приступим к созданию собственно Qt приложения.
Подключим необходимые заголовочные файлы:
#include <QApplication> #include <QProcess> #include <QTextEdit>
В функции main нашего приложения создадим идентификатор приложения и объект QProcess:
QApplication a(argc, argv); QProcess pr;
Запускаем нашу консольную утилиту:
pr.start("./prog"); //таким образом необходимо положить исполняемый файл в папку билда приложения на qt
Обратите внимание, что Windows пользователи должны указать приложение примерно так (точно не скажу.. давно это было):
pr.start("prog.exe");
Создаём поле в которое будет выведен результат:
QTextEdit edit;
Ждём пока процесс не завершится:
if (pr.waitForFinished() == true) {
QByteArray b = pr.readAll(); //читаем вывод
edit.setText(QString(b)); //конвертируем в строковый формат и выводим в поле
}
Показываем поле и ждём действий пользователя:
edit.show();
return a.exec();

Можете попробовать также вывести информацию о каталоге при помощи команды dir (есть она по моему во всех ОС)
pr.start("dir");
Вперёд писать GUI к очередной консольной утилите.
Скачать проект.







