Russian Qt Forum

Qt => Общие вопросы => Тема начата: Spicos от Январь 19, 2007, 08:29



Название: QProcess и досовская программа
Отправлено: Spicos от Январь 19, 2007, 08:29
Как запустить из под своего приложение досовскую программу?

добавлено спустя 17 часов 28 минут:

 Всем спасибо за подробные ответы.
Если кому интересно смотрите.

Runer::Runer( QWidget* parent)
{
  QPushButton *RunerButton=new QPushButton(this);
  RunerButton->move(100,100);
  RunerButton->setText(tr("Запустить софт"));
  TextEdit=new QTextEdit(this);
  TextEdit->move(10, 200);
  connect(RunerButton, SIGNAL(clicked()), SLOT(Run()));
}

void Runer::Run()
{
  QString program;
  QStringList arguments;
  program="cmd.exe";
  arguments <<"/C"/*<< далее любые ваши аргументы*/;
  myProcess=new QProcess();

  myProcess->setEnvironment(QProcess::systemEnvironment());

   connect(myProcess, SIGNAL(readyReadStandardOutput()), this, SLOT(slotMessages()) );
   connect(myProcess, SIGNAL(readyReadStandardError()), this, SLOT(slotMessages()) );

  myProcess->start(program, arguments);

  myProcess->waitForFinished ();

  myProcess->deleteLater();
}

void UpLoader::slotMessages()
{
   TextEdit->append( QString::fromLocal8Bit(myProcess->readAllStandardOutput()));
   TextEdit->append( QString::fromLocal8Bit(myProcess->readAllStandardError()));
}