正如标题中定义的,这两个函数都返回一个空字符串。 让我描述一下我的场景,我正在执行一个python文件,这个文件最后打印了一个文本,文本在执行后被发布到应用程序输出上,但是给定的输出没有被复制。 另外,我的python脚本需要30到40秒来执行,但是readAll函数是在加载脚本之后执行的
执行python脚本的函数:
QString text = ui->textEdit->toPlainText();
QString path = "D:/DS Project/Treegramming";
QString command("py");
QStringList params = QStringList() << "nlp.py";
params << text;
QProcess *process = new QProcess();
process->startDetached(command, params, path);
process->waitForFinished(30000);
QByteArray ba = "";
process->waitForReadyRead(30000);
ba += process->readAllStandardOutput();
qDebug() << ba ;
再次重复,qDebug()将在执行整个脚本之前提供空输出
想想这条线
在这里您实际上是在调用static ^{} member ,它与您新创建的
QProcess
无关。因此,您不会看到任何标准输出/错误相反,您应该将non-static ^{} member 与(untested)
相关问题 更多 >
编程相关推荐