qt5 QCommandLineParser 所需的值



我有这个代码:

parser.addOption(requiredValueOption);
parser.addOption(booleanOption);
if (!parser.parse(app->arguments())) {
qDebug() << parser.errorText();
parser.showHelp(1);
}

当我这样称呼它时:

./app --required-value-option value

它有效。

当我这样称呼它时:

./app --required-value-option

我看到一条错误消息"之后缺少值...",这是意料之中的

但是当我这样称呼它时:

./app --required-value-option --boolean-option

字符串--boolean-option被解释为--required-value-option!!!的值这不是我所期望的。这应该会触发错误。

如何使用QCommandLineParser正确解析具有所需值的选项?

UPD:如果您在Qt应用程序中对选项使用一些必需的值 - 您可以对其进行测试。

UPD2:当前行为,例如:--no-gui 布尔选项和 --output-file required file 选项。以猴子身份运行它:

app --output-file --no-gui

哇!应用程序以 gui 开头并显示"--no-gui 文件不存在"。干得好,伙计!

UPD3:好的。我想将注册的选项解释为选项,而不是以前选项的值。示例:--no-gui 可以是有效的文件名,但由于这是注册选项,因此解析器不应将其用作值。

好的,我回答自我问题。

首先,您必须仅添加和分析布尔选项。存储建立的标志(我将其存储为位掩码并稍后检查)。

然后添加其他带有值的选项并再解析一个。

现在,您已经解析了布尔选项和带有值的解析选项。

完成!

相关内容

  • 没有找到相关文章

最新更新