Qprogress C++ 倍数 args:我可以连接吗? (Qprocess::start() 弃用

问题描述 投票:0回答:0

我的问题不是真正的问题,但我确信有更好的方法来做我所做的事情。

在我做之前

Qprocess* dlvid = new QProcess;
//command to start
QString ffmpegmerge = "ffmpeg -i myvid.mp4 -i myaudio.m4a -c copy -movflags faststart mergevid";
//starting the process
dlvideo->start(ffmpegmerge);

它与关于已弃用的 QProcess::start 的疯狂警告配合得很好。

我现在使用已弃用的 dlvideo->start(ffmpegmerge)(我想我遵循 qt.doc 的新 QProces::start 方法)

dlvideo->start("ffmpeg", QStringList() << "-i" << "myvid.mp4" << QStringList() << "-i" << "myaudio.m4a" << QStringList() << "-c" << "copy" << QStringList() << "-movflags" << "faststart" << mergevid);

并且它在没有疯狂警告的情况下运行良好。

在我的程序中myvid、myaudio、mergevid是一些之前定义的QString,但它不是这个问题的对象。

我想知道我是否可以将所有参数连接在一个唯一的 QString 中以开始类似

dlvideo->start("ffmpeg", QString() << "Here I want all arguments in one shot" << mergevid;

我不确定我的问题是否真的容易理解。

致以诚挚的问候。

c++ qprocess qt6 deprecation-warning
© www.soinside.com 2019 - 2024. All rights reserved.