繁体   English   中英

在OS上独立运行Qt QProcess

[英]Run Qt QProcess independently on the OS

我正在用C ++开发基于QT的应用程序,最近我学会了如何使用它,因此我仍然没有完全的信心。 我为此感到挣扎:我正在Linux上进行开发,但我想使其在Windows上也可以工作。 C ++代码调用Python脚本(向其传递一些参数),并且为了实现我正在使用的目标

QDir::separator()

分隔文件夹名称(参数列表包含一些路径),这对我的目的应该是有用的,因为它将在Linux和Windows上自动使用/(如果我错了,请更正我)。

代码如下:

python_path= my_python_path/python;
script_path=../script.py;


QStringList arguments;
arguments << QString(script_path);
arguments << QString(arg1);
arguments << QString(arg2);


QProcess *p = new QProcess( this );

if (p){

  p->start(python_path,arguments);
}

现在我的问题是:在Windows上,我应该使用:

 python_path= my_python_path/python.exe;

代替:

 python_path= my_python_path/python;

如何在QT上对待这种多平台开发? 检测系统并使用if? 还是有更好的解决方案?

提前致谢!

您可以使用Q_OS宏。 像这样的东西应该起作用(未经测试):

#if defined Q_OS_WIN
QString python_path = "my_python_path/python.exe";
#else
QString python_path = "my_python_path/python";
#endif

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM