QCommandLineOption 类

QCommandLineOption 类定义了一个可能的命令行选项。更多...

头文件 #include <QCommandLineOption>
CMakefind_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmakeQT += core

公有类型

枚举Flag { HiddenFromHelp, ShortOptionStyle }
flags标志

公有函数

QCommandLineOption(const QString &name)
QCommandLineOption(const QStringList &names)
QCommandLineOption(const QString &name, const QString &description, const QString &valueName = QString(), const QString &defaultValue = QString())
QCommandLineOption(const QStringList &names, const QString &description, const QString &valueName = QString(), const QString &defaultValue = QString())
QCommandLineOption(const QCommandLineOption &other)
~QCommandLineOption()
QStringListdefaultValues() const
QStringdescription() const
QCommandLineOption::Flagsflags() const
QStringListnames() const
voidsetDefaultValue(const QString &defaultValue)
voidsetDefaultValues(const QStringList &defaultValues)
voidsetDescription(const QString &description)
voidsetFlags(QCommandLineOption::Flags flags)
voidsetValueName(const QString &valueName)
voidswap(QCommandLineOption &other)
QStringvalueName() const
QCommandLineOption &operator=(const QCommandLineOption &other)
QCommandLineOption &operator=(QCommandLineOption &&other)

详细说明

此类用于描述命令行上的一个选项。它允许用不同的方式定义相同的选项,并且可以有多个别名。它也用于描述如何使用选项 - 它可能是标志(例如 -v)或接受一个值(例如 -o file)。

示例

QCommandLineOption verboseOption("verbose", "Verbose mode. Prints out more information.");
QCommandLineOption outputOption(QStringList() << "o" << "output", "Write generated data into <file>.", "file");

另见 QCommandLineParser.

成员类型文档

enum QCommandLineOption::Flag
flags QCommandLineOption::Flags

常量描述
QCommandLineOption::HiddenFromHelp0x1在用户可见的帮助输出中隐藏此选项。所有选项默认都是可见的。为特定选项设置此标志会使它成为内部选项,即不会列在帮助输出中。
QCommandLineOption::ShortOptionStyle0x2无论由QCommandLineParser::setSingleDashWordOptionMode设置什么,此选项总是被视为短选项。这允许即使是处于QCommandLineParser::ParseAsLongOptions模式下,也把如 -DDEFINE=VALUE-I/include/path 这样的标志解释为短标志。

Flags类型是QFlags<Flag>的typedef。它存储Flag值的逻辑或组合。

另请参阅QCommandLineOption::setFlags() 和 QCommandLineOption::flags

成员函数文档

[显式] QCommandLineOption::QCommandLineOption(const QString &name)

使用名称 name 构造命令行选项对象。

名称可以是短名称或长名称。如果名称长度为单个字符,则视为短名称。选项名称不能为空,不能以破折号或斜杠字符开头,不能包含 =,且不能重复。

另请参阅setDescription()、setValueName() 和 setDefaultValues

[显式] QCommandLineOption::QCommandLineOption(const QStringList &names)

使用名称 names 构造命令行选项对象。

此重载允许为选项设置多个名称,例如 ooutput

名称可以是短名称或长名称。列表中的任何单个字符名称都是短名称。选项名称不能为空,不能以破折号或斜杠字符开头,不能包含 =,且不能重复。

另请参阅setDescription()、setValueName() 和 setDefaultValues

QCommandLineOption::QCommandLineOption(const QString &name, const QString &description, const QString &valueName = QString(), const QString &defaultValue = QString())

使用给定的参数构造命令行选项对象。

选项名称设置为 name。名称可以是短名称或长名称。如果名称长度为单个字符,则视为短名称。选项名称不能为空,不能以破折号或斜杠字符开头,不能包含 =,且不能重复。

描述设置为 description。通常在描述的末尾添加一个 ""。

此外,如果选项需要值,则需要设置 valueName。选项的默认值设置为 defaultValue

在Qt 5.4之前的版本中,此构造函数是 explicit。从Qt 5.4开始,它不再是,并且可以用于统一的初始化。

QCommandLineParser parser;
parser.addOption({"verbose", "Verbose mode. Prints out more information."});

另请参阅setDescription()、setValueName() 和 setDefaultValues

QCommandLineOption::QCommandLineOption(const QStringList &names, const QString &description, const QString &valueName = QString(), const QString &defaultValue = QString())

使用给定的参数构造命令行选项对象。

此重载允许为选项设置多个名称,例如 ooutput

选项的名称被设置为names。名称可以是短名或长名。长度为单字符的任何名称都是短名。选项名称不能为空,不能以破折号或斜杠字符开头,不能包含等号(=),且不能重复。

描述设置为 description。通常在描述的末尾添加一个 ""。

此外,如果选项需要值,则需要设置 valueName。选项的默认值设置为 defaultValue

在Qt 5.4之前的版本中,此构造函数是 explicit。从Qt 5.4开始,它不再是,并且可以用于统一的初始化。

QCommandLineParser parser;
parser.addOption({{"o", "output"}, "Write generated data into <file>.", "file"});

另请参阅setDescription()、setValueName() 和 setDefaultValues

QCommandLineOption::QCommandLineOption(const QCommandLineOption &other)

构造一个QCommandLineOption对象,该对象是QCommandLineOption对象other的副本。

另请参阅operator=

[noexcept] QCommandLineOption::~QCommandLineOption()

销毁命令行选项对象。

QStringList QCommandLineOption::defaultValues() const

返回为此选项设置的默认值。

另请参阅setDefaultValues

QString QCommandLineOption::description() const

返回为此选项设置的描述。

另请参阅setDescription

QStringList QCommandLineOption::flags() const

返回影响此命令行选项的一组标志。

另请参阅setFlagsQCommandLineOption::Flags

QStringList QCommandLineOption::names() const

返回为此选项设置的名称。

void QCommandLineOption::setDefaultValue(const QString &defaultValue)

将此选项的默认值设置为defaultValue

如果应用程序用户在命令行上未指定选项,则使用默认值。

如果defaultValue为空,则选项没有默认值。

另请参阅defaultValuessetDefaultValues

void QCommandLineOption::setDefaultValues(const QStringList &defaultValues)

将用于此选项的默认值列表设置为defaultValues

如果应用程序用户在命令行上未指定选项,则使用默认值。

另请参阅defaultValuessetDefaultValue

void QCommandLineOption::setDescription(const QString &description)

为该选项设置描述,描述信息为description

通常在描述的末尾加上一个“。”。

描述被QCommandLineParser::showHelp()使用。

另请参阅描述

void QCommandLineOption::setFlags(QCommandLineOption::Flags flags)

设置影响该命令行选项的标志集合为flags

另请参阅flags()和QCommandLineOption::Flags

void QCommandLineOption::setValueName(const QString &valueName)

将期望的值名称设置为valueName,用于文档。

没有赋值的选项具有布尔类型的行为:用户指定–option或没有指定。

有值的选项需要为期望的值设置名称,用于帮助输出中选项的文档。名称为ooutput,值名为file的选项将显示为-o, --output <file>

如果期望此选项只出现一次,则调用QCommandLineParser::value();如果期望该选项出现多次,则调用QCommandLineParser::values()。

另请参阅valueName

[noexcept] void QCommandLineOption::swap(QCommandLineOption &other)

将选项other与此选项交换。此操作非常快,且永远不会失败。

QString QCommandLineOption::valueName() const

返回期望的值名称。

如果为空,则选项不取值。

另请参阅setValueName

QCommandLineOption &QCommandLineOption::operator=(const QCommandLineOption &other)

创建other对象的一个副本并将其分配给此QCommandLineOption对象。

[noexcept] QCommandLineOption &QCommandLineOption::operator=(QCommandLineOption &&other)

other移动分配给此QCommandLineOption实例。

© 2024 Qt公司有限公司。此处包含的文档贡献版权属于其各自的所有者。此处提供的文档是根据自由软件基金会发布的GNU自由文档许可证版本1.3的条款进行许可的。Qt及其标志是芬兰的Qt公司及其它国家/地区的商标。所有其他商标均为其各自所有者的财产。