связь между терминалом и gui программой |
Здравствуйте, гость ( Вход | Регистрация )
связь между терминалом и gui программой |
ht1515 |
31.1.2014, 18:00
Сообщение
#1
|
Студент Группа: Участник Сообщений: 29 Регистрация: 14.4.2012 Пользователь №: 3324 Спасибо сказали: 0 раз(а) Репутация: 0 |
Всем привет!
Есть консольная программа - терминал. Там вводятся команды, выполняются и результат сразу же печатается в программе( н-р командная строка в винде ). Я хочу ее связать с gui программой написанной на куте. Никакой сессии, общей памяти консольная программа не дает. Она подразумевает наличие оператора ПК, который тыкать будет команды. Можно ли каким-нибудь хитрым способом передавать консольной проге команды, чтобы она их выполняла и потом получать ответ? |
|
|
ht1515 |
1.2.2014, 15:48
Сообщение
#2
|
Студент Группа: Участник Сообщений: 29 Регистрация: 14.4.2012 Пользователь №: 3324 Спасибо сказали: 0 раз(а) Репутация: 0 |
Вчера вечером почитал
http://doc.crossplatform.ru/qt/4.7.x/qproc...waitForFinished Нашел такой пример, gzip заменил на gdb. Цитата QProcess gdb; gdb.start("gdb", QStringList() << "-c"); if (!gdb.waitForStarted()) return false; QByteArray result = gdb.readAll(); // Это чтобы вычерпать "шапку", которую печатает gdb при запуске gdb.write("print"); gdb.closeWriteChannel(); if (!gdb.waitForFinished()) return false; QByteArray result = gdb.readAll(); // должен прочитать результата команды в gdb Чуть-чуть изменил код. Но все равно result выдает все. И шапку и результат выполнения команды и даже (gdb)> Я вроде понял о чем вы, но не могу собрать пока велосипед, чтобы он поехал как надо. Что не так сделал я? вроде логично рассуждаю) небольшая правка Цитата gdb.start("gdb"); а не Цитата gdb.start("gdb", QStringList() << "-c"); просто в редакторе форума код правил |
|
|
Текстовая версия | Сейчас: 22.11.2024, 20:53 |