如果通过 QProcess 传递,则无法识别参数
Argument doesn't recognized if passed with QProcess
我很难使用 QProcess
将 -vo
参数传递给 mplayer,
这是一个最小的例子:
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow)
{
ui->setupUi(this);
QString program;
program = "C:\mplayer-svn-38008\mplayer.exe";
QStringList arguments;
arguments << "-vo gl" << "C:\test.mp4";
QProcess *m_process = new QProcess(this);
m_process->start(program, arguments);
}
过程输出:
Unknown option on the command line: -vo gl
在 Windows shell 上使用相同的参数会导致正确的行为:
>mplayer -vo gl C:/test.mp4
此外,从 QStringList
中删除该参数也有效。
为什么 -vo
选项可以从命令行识别,但不能从 QProcess
识别?
您必须将每个由 space:
分隔的参数分开
arguments << "-vo"<< "gl" << "C:\test.mp4";
我很难使用 QProcess
将 -vo
参数传递给 mplayer,
这是一个最小的例子:
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow)
{
ui->setupUi(this);
QString program;
program = "C:\mplayer-svn-38008\mplayer.exe";
QStringList arguments;
arguments << "-vo gl" << "C:\test.mp4";
QProcess *m_process = new QProcess(this);
m_process->start(program, arguments);
}
过程输出:
Unknown option on the command line: -vo gl
在 Windows shell 上使用相同的参数会导致正确的行为:
>mplayer -vo gl C:/test.mp4
此外,从 QStringList
中删除该参数也有效。
为什么 -vo
选项可以从命令行识别,但不能从 QProcess
识别?
您必须将每个由 space:
分隔的参数分开arguments << "-vo"<< "gl" << "C:\test.mp4";