以前使用命令行指定参数启动Qt程序都是用argc和argv,有时用Build环境设置,现在才知道原来Qt从5.2就有了两个类 QCommandLineParser 和 QCommandLineOption ,专门用于命令行启动,它们属于Core模块。
这两个类只在main函数中使用,在使用之前,首先完成两件事:
1. 在pro文件中添加CONFIG += console
,否则不生效。
2. 将exe程序用windeployqt
进行打包。
QCommandLineParser
QCommandLineParser提供了定义一系列命令行参数的功能,储存选项的值。
QCommandLineParser的默认解析模式为ParseAsCompactedShortOptions
,也就是说-abc
会被认为是3个参数,即”-a”、”-b”和”-c”。 当解析模式为ParseAsLongOptions
时,”-abc”会被认为是1个长命令,即”-abc”。
函数addHelpOption()
可以添加程序的帮助信息,这是由Qt自动处理的,用参数-h, --help, ?
触发,这个选项是由QCommandLineParser自动自动处理的。记得用setApplicationDescription
设置程序的描述信息,它会在帮助命令中显示。
类似的,还有函数addVersionOption()
显示程序的版本信息,用-v
触发,也是由Qt自动实现的,记得先用QC