gpt4 book ai didi

c++ - 使用来自 qt app 的参数启动另一个程序

转载 作者:行者123 更新时间:2023-11-28 05:25:23 24 4
gpt4 key购买 nike

我有一个简单的应用程序

int main(int argc, char* argv[]){
//cout << argv[1];
cout << "hello world";
getchar();
}

我想使用

从 qt 程序启动它
QProcess *process= new QProcess(this);
QString appPath= "..../.../TestApp2.exe";
process->start(appPath);

问题是我的程序没有启动,即使没有参数。我尝试启动一个像“calc”这样的标准应用程序并且它起作用了。我如何使用特定的参数启动我的应用程序(在取消提交第一个代码段的第二行之后确定)

最佳答案

I have tried to start a standard app like "calc" and it worked. How could I start my app

您的应用程序是一个控制台应用程序。

QProcess 隐藏控制台应用程序的控制台窗口并重定向它们的 STDOUT/STDERR 以便您阅读它们(使用 readAllStandardOutput()readAllStandardError() ……)。不管你write()您的 QProcess 转到其 STDIN。 因此,如果您希望在进程启动时看到控制台窗口,那您就错了。

如果你想启动一个控制台应用程序而不隐藏它的控制台窗口,你可以使用QProcess::startDetached() :

QProcess::startDetached("test.exe");

但大多数时候没有理由这样做。 QProcess 旨在从 GUI 应用程序中使用,以便在幕后启动进程,并从中获取结果。之后,您可以按照自己喜欢的方式将结果显示给用户。 GUI 应用程序的用户通常不希望控制台窗口时不时地要求他/她输入。此外,他/她不希望在控制台窗口中看到结果。

关于c++ - 使用来自 qt app 的参数启动另一个程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40653513/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com