问题标签 [qprocess]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
34849 浏览

qt - 如何从 QProcess 中获取 STDOUT?

我以为我将使用以下代码从 QProcess 获取输出:

我期望看到程序的输出打印到调试控制台,但我看到的只是:

完毕!

我知道:

  • 程序启动正常,因为打印了最后的消息。
  • 该程序确实打印输出,因为在终端中运行完全相同的命令会产生预期的一长串文本。

我在这里做错了什么?

0 投票
2 回答
12123 浏览

c++ - Qt - QProcess 不工作

我尝试启动 Internet Explorer,所以我使用下面的代码

但它不起作用。

0 投票
3 回答
4182 浏览

qt - 为 startDetached() QProcess 设置环境变量

在 Qt4 中,有 QProcess::setProcessEnvironment() 用于为新生成的进程设置 Env 变量。

但是,QProcess::startDetached() 是静态成员函数,因此 setProcessEnvironment() 不适用。如何在 Qt 中为分离的进程设置 Env 变量?

0 投票
1 回答
1845 浏览

qt - QProcess::finished (int exitCode, QProcess::ExitStatus exitStatus) :exitcode 的可能值?

我正在使用 QProcess 来执行 shell 命令。

如何确定该命令已成功执行?

ExitStatus 告诉进程正常退出或崩溃。

exitcode 的可能值是什么?我正在为不同的进程获取变体退出代码。

0 投票
1 回答
3528 浏览

qt - 在 Qt 中启动并写入终端

我正在使用 Qt 在 linux 中编码。我知道使用 popen 或 QProcess 我可以从我的程序中启动终端,但是我该如何写入呢?我谷歌周围的人都在建议 fork() 和 pipe()。我的目的是对终端进行 ICMP ping,并在 ping 成功时停止。我用 popen 做到了,但我无法停止 ping 进程,因此我的程序无法运行。

0 投票
1 回答
938 浏览

c++ - 在 Qt 4.7 中将标准输出管道传输到 QLabel

我正在尝试将大学 C++ 代码包装在 Qt 小部件中。

但是,他的程序标准输出必然需要查看。到目前为止,我假设我将构建一个 GUI 并打开一个 QProccess 来运行他的程序(然后通过该管道发送命令)。

所以我的问题是无论如何要读取该程序的标准输出并将其显示在 qlabel 或类似的东西中(即我应该研究哪些函数)?

0 投票
2 回答
895 浏览

c++ - 如何在 QProcess 中使用队列?

我有一个插槽,称为传递 QProcess 中使用的一些参数。我使用其中一些参数执行一个外部程序。问题是我想为这些进程设置一个队列,等到前一个进程完成后再启动下一个进程。

你认为最好/最简单的方法是什么?

这是我的方法/插槽:

编辑这里的解决方案,如果你需要它:

按照 QStringList 的想法,我的 CallApp 方法只是将命令添加到 QStringList 中,例如:

然后调用 Execute();

0 投票
1 回答
6283 浏览

qt - QProcess 读写

我现在正在尝试从 qprocess 读写。我做了一个小测试程序,它接受输入并在屏幕上循环显示。这是我来自 Qt 的代码

除非我发送最后一个退出命令(终止我的测试程序),否则这将不起作用。

这是我的读取命令:

如果我发送退出,我将立即获得程序的所有输出,包括我发送的所有内容。

我在这里做错了什么?

根据要求,这是程序中的代码:

0 投票
1 回答
1529 浏览

python - 父进程无法访问 PyQt 中的共享内存

我目前正在尝试使用QSharedMemoryPyQt QProcess。所以我写了一个小应用程序来启动一个进程,它创建一个共享内存段并将数据写入它。当进程写入输出时,应用程序会读回数据。

不幸的是,当应用程序尝试附加到共享内存段时出现此错误:QSharedMemory::handle: doesn't exist. 除非内存段是由父进程自己分配的,否则父进程似乎无法访问子进程分配的着色器内存段。

输出跟踪:

我的申请代码:

我的流程代码:

0 投票
1 回答
669 浏览

qprocess - QProcess 不工作

我有以下代码:

string1 的值为:
ps -ef | grep "./scriptTest" | grep -v grep | awk '{打印 $2}' | xargs 杀死

问题是 QProcess 不执行命令。如果我在控制台中复制并粘贴 string1 的值,则命令执行成功。

你们有什么建议吗?