QProcess не работает write
Код:
void MainWindow::on_pushButton_clicked()
{
this->proc = new QProcess(this);
this->proc->setProcessChannelMode(QProcess::MergedChannels); // Устанавливаем, что вывод (и ошибки и прочее) будет валиться в один канал
connect (this->proc, SIGNAL(readyReadStandardOutput()), this, SLOT(onReady())) ; // ловим когда процесс что то выдал
connect (this->proc, SIGNAL(readyReadStandardError()), this, SLOT(onReadyError())) ; // ловим когда процесс выдал ошибку
connect (this->proc, SIGNAL(onFinished()), this, SLOT(onFinished())) ; //ловим когда процесс закончил работу
QStringList arg;
arg << "-game" << "cstrike" << "+port" << "27015" << "+map" << "de_dust2" << "-console";
proc->start("hlds.exe", arg);
}
void MainWindow::onReady()
{
QString output(QString::fromLocal8Bit(static_cast<QProcess *>(sender())->readAll()));
if (!output.isEmpty())
{
//qDebug() << output;
ui->textEdit->append(output);
}
}
void MainWindow::onReadyError()
{
QString output(static_cast<QProcess *>(sender())->readAllStandardOutput ());
if (!output.isEmpty())
{
ui->textEdit->append("Erorr: " + output);
}
}
void MainWindow::onFinished()
{
qDebug () << "Ура";
// А так можно прибить процесс
// this->proc->terminate();
//this->proc->waitForFinished(10000);
}
void MainWindow::on_pushButton_2_clicked()
{
proc->write("map de_dustn");
}
{
this->proc = new QProcess(this);
this->proc->setProcessChannelMode(QProcess::MergedChannels); // Устанавливаем, что вывод (и ошибки и прочее) будет валиться в один канал
connect (this->proc, SIGNAL(readyReadStandardOutput()), this, SLOT(onReady())) ; // ловим когда процесс что то выдал
connect (this->proc, SIGNAL(readyReadStandardError()), this, SLOT(onReadyError())) ; // ловим когда процесс выдал ошибку
connect (this->proc, SIGNAL(onFinished()), this, SLOT(onFinished())) ; //ловим когда процесс закончил работу
QStringList arg;
arg << "-game" << "cstrike" << "+port" << "27015" << "+map" << "de_dust2" << "-console";
proc->start("hlds.exe", arg);
}
void MainWindow::onReady()
{
QString output(QString::fromLocal8Bit(static_cast<QProcess *>(sender())->readAll()));
if (!output.isEmpty())
{
//qDebug() << output;
ui->textEdit->append(output);
}
}
void MainWindow::onReadyError()
{
QString output(static_cast<QProcess *>(sender())->readAllStandardOutput ());
if (!output.isEmpty())
{
ui->textEdit->append("Erorr: " + output);
}
}
void MainWindow::onFinished()
{
qDebug () << "Ура";
// А так можно прибить процесс
// this->proc->terminate();
//this->proc->waitForFinished(10000);
}
void MainWindow::on_pushButton_2_clicked()
{
proc->write("map de_dustn");
}
Код:
void MainWindow::on_pushButton_2_clicked()
{
proc->write("map de_dustn");
}
{
proc->write("map de_dustn");
}
Код:
proc->write("map de_dustnr");
Qt только начал осваивать.
тут
Код:
this->proc = new QProcess(this);
Код:
proc->write("map de_dustn");
Это первое.
Второе - необходимо создавать пайпы - я не вижукода создания
Цитата: kot_
У меня как минимум один вопрос:
тут
тут
теоретически это одно и тоже. Но практически - это могут быть разные объекты.
Это первое.
Второе - необходимо создавать пайпы - я не вижукода создания
тут
Код:
this->proc = new QProcess(this);
Код:
proc->write("map de_dustn");
Это первое.
Второе - необходимо создавать пайпы - я не вижукода создания
Как в данном случае прикрутить пайпы?
Если тебе это актуально - то формулируй вопрос более внятно. Например в SDK Qt есть пример на базе фортуны (был по крайней мере) поковыряй его. Гугл опятьже