[英]How to run command line with QProcess?
我有一个应用程序(X)Medcon,我想使用QProcess运行命令行(转换文件)。 我尝试过,但没有成功。 这是我的代码
convertDicomProcess = new QProcess(this);
QString program = "C:\\Program Files\\XMedCon\\bin\\xmedcon.exe";
QStringList arguments;
arguments << "medcon"<< "-f" << "F:/33.nii" << "-c" << "dicom" << "-o" << "F:/33.dcm";
convertDicomProcess->start(program, arguments);
convertDicomProcess->waitForFinished();
QByteArray output = convertDicomProcess->readAll();
convertDicomProcess->close();
当我运行命令行
medcon -f E:\\ 55.nii -c dicom -o E:\\ 55.dcm
这是成功的转换
如果路径存在,我认为您需要在字符串中使用引号(\\“):
QString program = "\"C:\\Program Files\\XMedCon\\bin\\xmedcon.exe\"";
...
尝试:
QStringList arguments;
arguments << "/c" << program << "-f" << "F:/33.nii" << "-c" << "dicom" << "-o" << "F:/33.dcm";
convertDicomProcess->start("cmd.exe", arguments);
再次测试是否真的需要“ medcon”作为参数,因为我不知道“ medcon”程序,所以不知道。 如果是,请将其更改为:
arguments << "/c" << program << "medcon" << "-f" << "F:/33.nii" << "-c" << "dicom" << "-o" << "F:/33.dcm";
此代码尝试在外壳中运行medcon程序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.