Название: консоль через QT Отправлено: br3d от Июнь 12, 2009, 14:28 Здравствуйте! подскажите, как можно передавать команды из QT приложения в Linux консоль ???
желательно с возможностью поймать возвращаемое значение, или просто что бы при передаче команды из приложения, открывалась консоль. Название: Re: консоль через QT Отправлено: Пантер от Июнь 12, 2009, 14:33 Читай про QProcess.
Название: Re: консоль через QT Отправлено: br3d от Июнь 12, 2009, 17:00 благодарю =)
Название: Re: консоль через QT Отправлено: br3d от Июнь 12, 2009, 18:59 void MainWindow::on_pushButton_clicked()
{ QObject *parent; QString program = "/bin/bash"; QStringList arguments; arguments << "ls"; QProcess *myProcess = new QProcess(parent); myProcess->start(program, arguments); } после выполнения этого кода программа напроч виснет ...., видимо я что то не так делаю((( подскажите в чем ошибка ??? Название: Re: консоль через QT Отправлено: sLiva от Июнь 12, 2009, 19:15 void MainWindow::on_pushButton_clicked() { QObject *parent; //<----------------- QString program = "/bin/bash"; QStringList arguments; arguments << "ls"; QProcess *myProcess = new QProcess(parent); myProcess->start(program, arguments); } после выполнения этого кода программа напроч виснет ...., видимо я что то не так делаю((( подскажите в чем ошибка ??? ? Название: Re: консоль через QT Отправлено: br3d от Июнь 12, 2009, 19:31 сам не особо понял зачем это, но пример взят из help-а QT ....//QProcess Class Reference
и по идее эта строчка никакой роли играть не должна ... Название: Re: консоль через QT Отправлено: br3d от Июнь 13, 2009, 08:19 QProcess proc;
QStringList arguments; arguments << "ls"; proc.start("/usr/bin/gnome-terminal",arguments); терминал запускается, но команды принимать отказывается ..., ЧТО ПОСОВЕТУЕТЕ ??? хотел сделать так /usr/bin/gnome-terminal --command pwd тогда консоль сразу вылетает((( в чем может быть причина ? Название: Re: консоль через QT Отправлено: lit-uriy от Июнь 13, 2009, 10:32 Цитировать сам не особо понял зачем это, но пример взят из help-а QT ....//QProcess Class Reference Приер выглядит так: Код Расшифровываю: Где-то объявлен объект parent, любой наследник QObject. Об этом мне говорит многоточие после объявления. Далее при создании объекта QProcess, ему в качестве родителя ставится этот самый parent Т.к. ты создаешь QProcess в классе MainWindow, то передавай процессу в качестве родителя указатель на свой класс. (Т.е. this) |