我有一个简单的应用
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启动我的应用程序(确定在取消提交第一个代码段的第二行后)
答案 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应用程序的用户通常不期望控制台窗口偶尔要求他/她输入。此外,他/她不希望在控制台窗口中看到结果。