对于 Qt 来说相当新。
我正在使用 QProcess 运行外部 shell 脚本并将输出重定向到 GUI 上的文本浏览器。代码:
在mainwindow.h中:
private:
QProcess *myProcess;
Run Code Online (Sandbox Code Playgroud)
和主窗口.cpp:
void MainWindow::onButtonPressed(){
myProcess = new QProcess(this);
myProcess->connect(myProcess, SIGNAL(readyRead()), this, SLOT(textAppend()));
myProcess->start("./someScript.sh", arguments);
}
void MainWindow::textAppend(){
ui->textBrowser->append(myProcess->readAll());
}
Run Code Online (Sandbox Code Playgroud)
这非常适合运行外部脚本。我的问题是如何对作为资源文件包含的脚本应用相同的过程。我尝试简单地替换"./someScript.sh"为资源版本":/someScript.sh",但它似乎不起作用。资源脚本运行完美,但控制台输出消失。