从qt app开始另一个带有参数的程序

时间:2016-11-17 11:17:07

标签: c++ qt

我有一个简单的应用

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);
问题是,即使没有参数,我的程序也会启动。我试图启动一个标准的应用程序,如&#34; calc&#34;它起作用了。如何使用特定的args启动我的应用程序(确定在取消提交第一个代码段的第二行后)

1 个答案:

答案 0 :(得分:1)

  

我试图启动像“calc”这样的标准应用程序并且它有效。我怎么能启动我的应用程序

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

QProcess隐藏控制台应用程序的控制台窗口,并重定向其STDOUT / STDERR以供您阅读(使用readAllStandardOutput()readAllStandardError(),...)。以及你QProcess QProcess::startDetached("test.exe"); 到其STDIN的任何内容。 因此,如果您希望在流程开始时看到控制台窗口,那就错了。

如果要在不隐藏其控制台窗口的情况下启动控制台应用程序,可以使用write()

QProcess

但大多数时候没有理由这样做。 relative_model = main_model.relative_model.find_or_initialize_by(start_date: XYZ, end_date: XYZ) 旨在从GUI应用程序中使用,以便在幕后启动进程,并从中获取结果。之后,您可以按照自己喜欢的方式向用户显示结果。 GUI应用程序的用户通常不期望控制台窗口偶尔要求他/她输入。此外,他/她不希望在控制台窗口中看到结果。