1

正如主题所说,谁能告诉我如何将已执行 exe 的输出重定向到 QStringist 变量,以便我可以实时显示已执行 exe 在 QTextBrowser 中所做的任何事情?例如,如果我用这样的简单 echo 命令执行一个 exe,并说 exe 名称是 hello.exe,其源代码如下

echo "Hello World!"

我像这样在Qt中执行它

QProcess abc

abc.start("files\\hello.exe);

现在这将呼应我在源代码中输入的问题,即“Hello World”,但是当我正在制作一个 GUI 应用程序时,我看不到它,那么我们如何将该输出带到 QStringList 变量并实时显示在 QTextBrowser 中?我们是否允许对被调用的 exe 进行多行输出?如果 exe 的输出很长并且是多行的,并且如果它不完全适合 QTextBrowser,那么滚动条会自动变为可见吗?

谢谢你。

4

1 回答 1

2

根据 QT 文档(请阅读):

您将处理程序绑定到QProcess::readyReadStandardOutput (),每次进程在 STDOUT 上有可用的新数据时都会发出该处理程序。然后你QProcess::readAllStandardOutput ()用来获取数据。然后将字节数组转换为QString,将其与先前拆分的其余部分一起粘贴,并按 delimiter 和 fill 拆分QStringList。然后你将它输出到QTextBrowser.

于 2012-08-10T06:39:24.003 回答