可以使用QCommandLineParser的setSingleDashWordOptionMode(QCommandLineParser::ParseAsLongOptions)函数来设置单破折号参数模式为长选项模式,这样就可以避免未知参数报错了。示例代码如下:
```cpp
#include
#include
int main(int argc, char *argv[])
{
QCoreApplication app(argc, argv);
QCoreApplication::setApplicationName("MyApp");
QCoreApplication::setApplicationVersion("1.0");
QCommandLineParser parser;
parser.setApplicationDescription("MyApp description");
parser.addHelpOption();
parser.addVersionOption();
// 设置单破折号参数模式为长选项模式
parser.setSingleDashWordOptionMode(QCommandLineParser::ParseAsLongOptions);
QCommandLineOption option("myoption", "Description for myoption.");
parser.addOption(option);
parser.process(app);
if (parser.isSet(option))
qDebug() << "myoption is set to" << parser.value(option);
return app.exec();
}
```
在上面的示例代码中,我们通过调用setSingleDashWordOptionMode函数将单破折号参数模式设置为长选项模式,这样就可以避免未知参数报错了。