Spec-Zone.ru › Qt 5.13

Класс QCommandLineParser

Класс QCommandLineParser предоставляет средство для обработки командной строки. Подробнее...

Заголовок: #include <QCommandLineParser>
qmake: QT += core
С версии: Qt 5.2

Этот класс был представлен в Qt 5.2.

  • Список всех членов, включая унаследованные члены

Публичные типы

Перечисление OptionsAfterPositionalArgumentsMode { ParseAsOptions, ParseAsPositionalArguments }
Перечисление SingleDashWordOptionMode { ParseAsCompactedShortOptions, ParseAsLongOptions }

Публичные функции

QCommandLineParser()
~QCommandLineParser()
QCommandLineOption addHelpOption()
bool addOption(const QCommandLineOption &option)
bool addOptions(const QList<QCommandLineOption> &options)
void addPositionalArgument(const QString &name, const QString &description, const QString &syntax = QString())
QCommandLineOption addVersionOption()
QString applicationDescription() const
void clearPositionalArguments()
QString errorText() const
QString helpText() const
bool isSet(const QString &name) const

Подробное описание

QCoreApplication предоставляет аргументы командной строки в виде простого списка строк. QCommandLineParser предоставляет возможность определить набор опций, разобрать аргументы командной строки и сохранить, какие опции были фактически использованы, а также значения опций.

Любой аргумент, который не является опцией (т. е. не начинается с -), сохраняется как «позиционный аргумент».

Парсер обрабатывает короткие имена, длинные имена, более одного имени для одной и той же опции и значения опций.

Опции в командной строке распознаются по начальным символам одиночного или двойного - символа(ов). Опция - (один дефис) является специальным случаем, часто означающим стандартный ввод, и не обрабатывается как опция. Парсер будет обрабатывать все после опции -- (два дефиса) как позиционные аргументы.

Короткие опции — это одиночные буквы. Опция v указывается путем передачи -v в командной строке. В режиме обработки по умолчанию короткие опции могут быть записаны в компактной форме, например, -abc эквивалентно -a -b -c. Режим обработки можно установить на ParseAsLongOptions, в этом случае -abc будет обработана как длинная опция abc.

Длинные опции имеют длину более одной буквы и не могут быть объединены. Длинная опция verbose передается как --verbose или -verbose.

Передача значений опциям может выполняться с использованием оператора присваивания: -v=value --verbose=value, или пробела: -v value --verbose value, т. е. следующий аргумент используется в качестве значения (даже если он начинается с -).

Парсер не поддерживает необязательные значения — если опция должна иметь значение, оно должно быть указано. Если такая опция находится последней и не имеет значения, опция будет обработана как не заданная.

Парсер не автоматически поддерживает отрицание или отключение длинных опций с помощью формата --disable-option или --no-option. Однако этот случай можно обработать явно, создав опцию с no-option в качестве одного из ее имен и обработав опцию явно.

Пример:

int main(int argc, char *argv[])
{
    QCoreApplication app(argc, argv);
    QCoreApplication::setApplicationName("my-copy-program");
    QCoreApplication::setApplicationVersion("1.0");

    QCommandLineParser parser;
    parser.setApplicationDescription("Test helper");
    parser.addHelpOption();
    parser.addVersionOption();
    parser.addPositionalArgument("source", QCoreApplication::translate("main", "Source file to copy."));
    parser.addPositionalArgument("destination", QCoreApplication::translate("main", "Destination directory."));

    // A boolean option with a single name (-p)
    QCommandLineOption showProgressOption("p", QCoreApplication::translate("main", "Show progress during copy"));
    parser.addOption(showProgressOption);

    // A boolean option with multiple names (-f, --force)
    QCommandLineOption forceOption(QStringList() << "f" << "force",
            QCoreApplication::translate("main", "Overwrite existing files."));
    parser.addOption(forceOption);

    // An option with a value
    QCommandLineOption targetDirectoryOption(QStringList() << "t" << "target-directory",
            QCoreApplication::translate("main", "Copy all source files into <directory>."),
            QCoreApplication::translate("main", "directory"));
    parser.addOption(targetDirectoryOption);

    // Process the actual command line arguments given by the user
    parser.process(app);

    const QStringList args = parser.positionalArguments();
    // source is args.at(0), destination is args.at(1)

    bool showProgress = parser.isSet(showProgressOption);
    bool force = parser.isSet(forceOption);
    QString targetDir = parser.value(targetDirectoryOption);
    // ...
}

Если ваш компилятор поддерживает стандарт C++11, три вызова addOption() в приведенном выше примере можно упростить:

    parser.addOptions({
        // A boolean option with a single name (-p)
        {"p",
            QCoreApplication::translate("main", "Show progress during copy")},
        // A boolean option with multiple names (-f, --force)
        {{"f", "force"},
            QCoreApplication::translate("main", "Overwrite existing files.")},
        // An option with a value
        {{"t", "target-directory"},
            QCoreApplication::translate("main", "Copy all source files into <directory>."),
            QCoreApplication::translate("main", "directory")},
    });

Известное ограничение: обработка опций Qt внутри QCoreApplication и подклассов происходит до существования QCommandLineParser, поэтому он не может их учесть. Это означает, что любое значение опции, которое выглядит как встроенная опция Qt, будет обработано QCoreApplication как встроенная опция Qt. Пример: --profile -reverse приведет к тому, что QGuiApplication увидит установленную опцию -reverse и удалит ее из QCoreApplication::arguments() перед тем, как QCommandLineParser определит опцию profile и обработает командную строку.

Как использовать QCommandLineParser в сложных приложениях

На практике необходимо выполнить дополнительную проверку позиционных аргументов и значений опций. Например, должны быть проверены диапазоны чисел.

Затем рекомендуется ввести функцию для обработки командной строки, которая принимает структуру или класс, получающий значения опций, возвращающий перечисление, представляющее результат. Пример dnslookup из модуля QtNetwork демонстрирует это:

struct DnsQuery
{
    DnsQuery() : type(QDnsLookup::A) {}

    QDnsLookup::Type type;
    QHostAddress nameServer;
    QString name;
};

enum CommandLineParseResult
{
    CommandLineOk,
    CommandLineError,
    CommandLineVersionRequested,
    CommandLineHelpRequested
};

CommandLineParseResult parseCommandLine(QCommandLineParser &parser, DnsQuery *query, QString *errorMessage)
{
    parser.setSingleDashWordOptionMode(QCommandLineParser::ParseAsLongOptions);
    const QCommandLineOption nameServerOption("n", "The name server to use.", "nameserver");
    parser.addOption(nameServerOption);
    const QCommandLineOption typeOption("t", "The lookup type.", "type");
    parser.addOption(typeOption);
    parser.addPositionalArgument("name", "The name to look up.");
    const QCommandLineOption helpOption = parser.addHelpOption();
    const QCommandLineOption versionOption = parser.addVersionOption();

    if (!parser.parse(QCoreApplication::arguments())) {
        *errorMessage = parser.errorText();
        return CommandLineError;
    }

    if (parser.isSet(versionOption))
        return CommandLineVersionRequested;

    if (parser.isSet(helpOption))
        return CommandLineHelpRequested;

    if (parser.isSet(nameServerOption)) {
        const QString nameserver = parser.value(nameServerOption);
        query->nameServer = QHostAddress(nameserver);
        if (query->nameServer.isNull() || query->nameServer.protocol() == QAbstractSocket::UnknownNetworkLayerProtocol) {
            *errorMessage = "Bad nameserver address: " + nameserver;
            return CommandLineError;
        }
    }

    if (parser.isSet(typeOption)) {
        const QString typeParameter = parser.value(typeOption);
        const int type = typeFromParameter(typeParameter.toLower());
        if (type < 0) {
            *errorMessage = "Bad record type: " + typeParameter;
            return CommandLineError;
        }
        query->type = static_cast<QDnsLookup::Type>(type);
    }

    const QStringList positionalArguments = parser.positionalArguments();
    if (positionalArguments.isEmpty()) {
        *errorMessage = "Argument 'name' missing.";
        return CommandLineError;
    }
    if (positionalArguments.size() > 1) {
        *errorMessage = "Several 'name' arguments specified.";
        return CommandLineError;
    }
    query->name = positionalArguments.first();

    return CommandLineOk;
}

В функции main должна быть напечатана справка в стандартный вывод, если была передана опция справки, и приложение должно вернуть код выхода 0.

Если была обнаружена ошибка, сообщение об ошибке должно быть выведено в стандартный поток ошибок, и приложение должно вернуть код выхода, отличный от 0.

END_OF_DOCUMENT_MARKER
    QCoreApplication::setApplicationVersion(QT_VERSION_STR);
    QCoreApplication::setApplicationName(QCoreApplication::translate("QDnsLookupExample", "DNS Lookup Example"));
    QCommandLineParser parser;
    parser.setApplicationDescription(QCoreApplication::translate("QDnsLookupExample", "An example demonstrating the class QDnsLookup."));
    DnsQuery query;
    QString errorMessage;
    switch (parseCommandLine(parser, &query, &errorMessage)) {
    case CommandLineOk:
        break;
    case CommandLineError:
        fputs(qPrintable(errorMessage), stderr);
        fputs("\n\n", stderr);
        fputs(qPrintable(parser.helpText()), stderr);
        return 1;
    case CommandLineVersionRequested:
        printf("%s %s\n", qPrintable(QCoreApplication::applicationName()),
               qPrintable(QCoreApplication::applicationVersion()));
        return 0;
    case CommandLineHelpRequested:
        parser.showHelp();
        Q_UNREACHABLE();
    }

Особый случай следует рассмотреть для приложений с графическим интерфейсом пользователя (GUI) на платформах Windows и мобильных устройствах. Эти приложения могут не использовать стандартные каналы вывода или ошибок, так как вывод либо отбрасывается, либо недоступен.

В Windows QCommandLineParser использует диалоговые окна для отображения информации о использовании и ошибок, если окно консоли получить не удается.

Для других платформ рекомендуется отображать тексты справки и сообщения об ошибках с помощью QMessageBox. Для сохранения форматирования текста справки следует использовать форматированный текст с элементами <pre>:

switch (parseCommandLine(parser, &query, &errorMessage)) {
case CommandLineOk:
    break;
case CommandLineError:
    QMessageBox::warning(0, QGuiApplication::applicationDisplayName(),
                         "<html><head/><body><h2>" + errorMessage + "</h2><pre>"
                         + parser.helpText() + "</pre></body></html>");
    return 1;
case CommandLineVersionRequested:
    QMessageBox::information(0, QGuiApplication::applicationDisplayName(),
                             QGuiApplication::applicationDisplayName() + ' '
                             + QCoreApplication::applicationVersion());
    return 0;
case CommandLineHelpRequested:
    QMessageBox::warning(0, QGuiApplication::applicationDisplayName(),
                         "<html><head/><body><pre>"
                         + parser.helpText() + "</pre></body></html>");
    return 0;
}

Однако это не относится к примеру dnslookup, так как это консольное приложение.

См. также QCommandLineOption и QCoreApplication.

Документация по типам членов

enum QCommandLineParser::OptionsAfterPositionalArgumentsMode

Этот перечисление описывает способ интерпретации парсером параметров, которые появляются после позиционных аргументов.

Константа Значение Описание
QCommandLineParser::ParseAsOptions 0 application argument --opt -t интерпретируется как установка параметров opt и t, так же, как и application --opt -t argument. Это режим парсинга по умолчанию. Для того, чтобы указать, что --opt и -t являются позиционными аргументами, пользователь может использовать --, как в application argument -- --opt -t.
QCommandLineParser::ParseAsPositionalArguments 1 application argument --opt интерпретируется как два позиционных аргумента, argument и --opt. Этот режим полезен для исполняемых файлов, которые предназначены для запуска других исполняемых файлов (например, оболочек, отладчиков и т. д.) или которые поддерживают внутренние команды, за которыми следуют параметры для команды. argument - имя команды, и все параметры, появляющиеся после неё, могут быть собраны и обработаны другим парсером командной строки, возможно, в другом исполняемом файле.

Это перечисление было введено или изменено в Qt 5.6.

См. также setOptionsAfterPositionalArgumentsMode().

enum QCommandLineParser::SingleDashWordOptionMode

Это перечисление описывает способ интерпретации парсером параметров командной строки, использующих один дефис, за которым следуют несколько букв, как -abc.

Константа Значение Описание
QCommandLineParser::ParseAsCompactedShortOptions 0 -abc интерпретируется как -a -b -c, т.е. как три коротких параметра, сжатых в командной строке, если ни один из параметров не принимает значение. Если a принимает значение, то он интерпретируется как -a bc, т.е. короткий параметр a, за которым следует значение bc. Это обычно используется в инструментах, которые ведут себя как компиляторы, для обработки параметров, таких как -DDEFINE=VALUE или -I/include/path. Это режим парсинга по умолчанию. Новым приложениям рекомендуется использовать этот режим.
QCommandLineParser::ParseAsLongOptions 1 -abc интерпретируется как --abc, т.е. как длинный параметр с именем abc. Так всегда парсили аргументы собственные инструменты Qt (uic, rcc...). Этот режим следует использовать для сохранения совместимости в приложениях, которые парсили аргументы таким образом. Исключением является параметр a, если установлен флаг QCommandLineOption::ShortOptionStyle, в этом случае он все еще интерпретируется как -a bc.

См. также setSingleDashWordOptionMode().

Документация по функциям членов

QCommandLineParser::QCommandLineParser()

Конструирует объект парсера командной строки.

QCommandLineParser::~QCommandLineParser()

Уничтожает объект парсера командной строки.

QCommandLineOption QCommandLineParser::addHelpOption()

Добавляет параметр справки (-h, --help и -? на Windows). Этот параметр обрабатывается автоматически QCommandLineParser.

Не забудьте использовать setApplicationDescription, чтобы задать описание приложения, которое будет отображаться при использовании этого параметра.

Пример:

int main(int argc, char *argv[])
{
    QCoreApplication app(argc, argv);
    QCoreApplication::setApplicationName("my-copy-program");
    QCoreApplication::setApplicationVersion("1.0");

    QCommandLineParser parser;
    parser.setApplicationDescription("Test helper");
    parser.addHelpOption();
    parser.addVersionOption();
    parser.addPositionalArgument("source", QCoreApplication::translate("main", "Source file to copy."));
    parser.addPositionalArgument("destination", QCoreApplication::translate("main", "Destination directory."));

    // A boolean option with a single name (-p)
    QCommandLineOption showProgressOption("p", QCoreApplication::translate("main", "Show progress during copy"));
    parser.addOption(showProgressOption);

    // A boolean option with multiple names (-f, --force)
    QCommandLineOption forceOption(QStringList() << "f" << "force",
            QCoreApplication::translate("main", "Overwrite existing files."));
    parser.addOption(forceOption);

    // An option with a value
    QCommandLineOption targetDirectoryOption(QStringList() << "t" << "target-directory",
            QCoreApplication::translate("main", "Copy all source files into <directory>."),
            QCoreApplication::translate("main", "directory"));
    parser.addOption(targetDirectoryOption);

    // Process the actual command line arguments given by the user
    parser.process(app);

    const QStringList args = parser.positionalArguments();
    // source is args.at(0), destination is args.at(1)

    bool showProgress = parser.isSet(showProgressOption);
    bool force = parser.isSet(forceOption);
    QString targetDir = parser.value(targetDirectoryOption);
    // ...
}

Возвращает экземпляр параметра, который можно использовать для вызова isSet().

bool QCommandLineParser::addOption(const QCommandLineOption &option)

Добавляет параметр option для поиска во время парсинга.

Возвращает true , если добавление параметра прошло успешно; в противном случае возвращает false.

Добавление параметра завершается неудачей, если к параметру не прикреплено имя или параметр имеет имя, которое конфликтует с именем параметра, добавленного ранее.

bool QCommandLineParser::addOptions(const QList<QCommandLineOption> &options)

Добавляет параметры для поиска во время парсинга. Параметры задаются параметром options.

Возвращает true , если добавление всех параметров прошло успешно; в противном случае возвращает false.

См. документацию для addOption() для случаев, когда эта функция может завершиться неудачей.

Эта функция была введена в Qt 5.4.

void QCommandLineParser::addPositionalArgument(const QString &name, const QString &description, const QString &syntax = QString())

Определяет дополнительный аргумент для приложения, для удобства текста справки.

Аргумент name и description будут отображаться в разделе Arguments: справки. Если syntax указан, он будет добавлен к строке Использования, в противном случае будет добавлен name.

Пример:

// Usage: image-editor file
//
// Arguments:
//   file                  The file to open.
parser.addPositionalArgument("file", QCoreApplication::translate("main", "The file to open."));

// Usage: web-browser [urls...]
//
// Arguments:
//   urls                URLs to open, optionally.
parser.addPositionalArgument("urls", QCoreApplication::translate("main", "URLs to open, optionally."), "[urls...]");

// Usage: cp source destination
//
// Arguments:
//   source                Source file to copy.
//   destination           Destination directory.
parser.addPositionalArgument("source", QCoreApplication::translate("main", "Source file to copy."));
parser.addPositionalArgument("destination", QCoreApplication::translate("main", "Destination directory."));

См. также addHelpOption() и helpText().

QCommandLineOption QCommandLineParser::addVersionOption()

Добавляет параметр -v / --version, который отображает строку версии приложения.

Этот параметр обрабатывается автоматически QCommandLineParser.

Фактическую строку версии можно установить с помощью QCoreApplication::setApplicationVersion().

Возвращает экземпляр параметра, который можно использовать для вызова isSet().

QString QCommandLineParser::applicationDescription() const

Возвращает описание приложения, заданное в setApplicationDescription().

См. также setApplicationDescription().

void QCommandLineParser::clearPositionalArguments()

Очищает определения дополнительных аргументов из текста справки.

Это необходимо только в особых случаях инструментов, которые поддерживают несколько команд с различными параметрами. После определения фактической команды можно определить параметры для этой команды и соответствующим образом скорректировать текст справки для команды.

Пример:

QCoreApplication app(argc, argv);
QCommandLineParser parser;

parser.addPositionalArgument("command", "The command to execute.");

// Call parse() to find out the positional arguments.
parser.parse(QCoreApplication::arguments());

const QStringList args = parser.positionalArguments();
const QString command = args.isEmpty() ? QString() : args.first();
if (command == "resize") {
    parser.clearPositionalArguments();
    parser.addPositionalArgument("resize", "Resize the object to a new size.", "resize [resize_options]");
    parser.addOption(QCommandLineOption("size", "New size.", "new_size"));
    parser.process(app);
    // ...
}

/*
This code results in context-dependent help:

$ tool --help
Usage: tool command

Arguments:
  command  The command to execute.

$ tool resize --help
Usage: tool resize [resize_options]

Options:
  --size <size>  New size.

Arguments:
  resize         Resize the object to a new size.
*/

QString QCommandLineParser::errorText() const

Возвращает переведенный текст ошибки для пользователя. Это следует делать только в том случае, когда parse() возвращает false.

QString QCommandLineParser::helpText() const

Возвращает строку, содержащую полную информацию о справке.

См. также showHelp().

bool QCommandLineParser::isSet(const QString &name) const

Проверяет, был ли параметр name передан в приложение.

Возвращает true , если параметр name был установлен, в противном случае — false.

Указанное имя может быть любым длинным или коротким именем любого параметра, который был добавлен с addOption(). Все имена параметров считаются эквивалентными. Если имя не распознается или параметр отсутствовал, возвращается false.

Пример:

bool verbose = parser.isSet("verbose");

bool QCommandLineParser::isSet(const QCommandLineOption &option) const

Это перегруженная функция.

Проверяет, был ли параметр option передан в приложение.

Возвращает true , если параметр option был установлен, в противном случае — false.

Это рекомендуемый способ проверки параметров без значений.

Пример:

QCoreApplication app(argc, argv);
QCommandLineParser parser;
QCommandLineOption verboseOption("verbose");
parser.addOption(verboseOption);
parser.process(app);
bool verbose = parser.isSet(verboseOption);

QStringList QCommandLineParser::optionNames() const

Возвращает список имен параметров, которые были найдены.

Это возвращает список всех распознанных имён параметров, найденных парсером в порядке их нахождения. Для любых длинных параметров, которые были в виде {--option=value}, часть значения была отброшена.

В этом списке имена не включают предшествующие символы дефиса. Имена могут встречаться в списке более одного раза, если они были встречены парсером более одного раза.

Любой элемент в списке можно использовать с value() или с values() для получения значений соответствующих параметров.

bool QCommandLineParser::parse(const QStringList &arguments)

Парсит командную строку arguments.

Большинству программ не нужно вызывать эту функцию, достаточно простого вызова process().

parse() — более низкоуровневая функция, выполняющая только парсинг. Приложению необходимо позаботиться об обработке ошибок, используя errorText(), если parse() возвращает false. Это может быть полезно, например, для отображения графического сообщения об ошибке в графических программах.

Вызов parse() вместо process() также может быть полезен для временного игнорирования неизвестных параметров, поскольку дополнительные определения параметров могут быть предоставлены позже (в зависимости от одного из аргументов) перед вызовом process().

Не забывайте, что arguments должны начинаться с имени исполняемого файла (он игнорируется).

Возвращает false в случае ошибки парсинга (неизвестный параметр или отсутствующее значение); возвращает true в противном случае.

См. также process().

QStringList QCommandLineParser::positionalArguments() const

Возвращает список позиционных аргументов.

Это все аргументы, которые не были распознаны как часть параметра.

void QCommandLineParser::process(const QStringList &arguments)

Обрабатывает аргументы командной строки arguments.

В дополнение к парсингу параметров (как в parse()), эта функция также обрабатывает встроенные параметры и ошибки.

Встроенные параметры — --version если был вызван addVersionOption, и --help если был вызван addHelpOption.

При вызове одного из этих параметров или возникновении ошибки (например, был передан неизвестный параметр), текущий процесс будет остановлен с использованием функции exit().

См. также QCoreApplication::arguments() и parse().

void QCommandLineParser::process(const QCoreApplication &app)

Это перегруженная функция.

Командная строка извлекается из экземпляра QCoreApplication app.

void QCommandLineParser::setApplicationDescription(const QString &description)

Устанавливает описание приложения description, отображаемое в helpText().

См. также applicationDescription().

void QCommandLineParser::setOptionsAfterPositionalArgumentsMode(QCommandLineParser::OptionsAfterPositionalArgumentsMode parsingMode)

Устанавливает режим парсинга в parsingMode. Это необходимо вызвать до process() или parse().

Эта функция была добавлена в Qt 5.6.

void QCommandLineParser::setSingleDashWordOptionMode(QCommandLineParser::SingleDashWordOptionMode singleDashWordOptionMode)

Устанавливает режим парсинга в singleDashWordOptionMode. Это необходимо вызвать до process() или parse().

void QCommandLineParser::showHelp(int exitCode = 0)

Отображает справочную информацию и завершает приложение. Это автоматически запускается параметром --help, но также может использоваться для отображения справки, когда пользователь неправильно запускает приложение. Код завершения устанавливается в exitCode. Он должен быть установлен в 0, если пользователь запросил справку, и в любом другом значении в случае ошибки.

См. также helpText().

void QCommandLineParser::showVersion()

Отображает информацию о версии из QCoreApplication::applicationVersion() и завершает приложение. Это автоматически запускается параметром --version, но также может использоваться для отображения версии при отсутствии process(). Код завершения устанавливается в EXIT_SUCCESS (0).

Эта функция была добавлена в Qt 5.4.

См. также addVersionOption().

QStringList QCommandLineParser::unknownOptionNames() const

Возвращает список имен неизвестных параметров.

Этот список будет включать как длинные, так и короткие имена параметров, которые не были распознаны. Для любых длинных параметров, имеющих вид {--option=value}, часть value будет отброшена, и в список будет добавлено только длинное имя.

Имена в этом списке не включают предшествующие символы дефиса. Имена могут встречаться в списке более одного раза, если они были встречены парсером более одного раза.

См. также optionNames().

QString QCommandLineParser::value(const QString &optionName) const

Возвращает значение параметра, найденное для данного имени параметра optionName, или пустую строку, если не найдено.

Указанное имя может быть любым длинным или коротким именем любого параметра, добавленного с помощью addOption(). Все имена параметров считаются эквивалентными. Если имя не распознается или параметр отсутствовал, возвращается пустая строка.

Для параметров, найденных парсером, возвращается последнее найденное значение для этого параметра. Если параметр не был указан в командной строке, возвращается значение по умолчанию.

Возвращается пустая строка, если параметр не принимает значение.

См. также values(), QCommandLineOption::setDefaultValue() и QCommandLineOption::setDefaultValues().

QString QCommandLineParser::value(const QCommandLineOption &option) const

Это перегруженная функция.

Возвращает значение параметра, найденное для данного option, или пустую строку, если не найдено.

Для параметров, найденных парсером, возвращается последнее найденное значение для этого параметра. Если параметр не был указан в командной строке, возвращается значение по умолчанию.

Возвращается пустая строка, если параметр не принимает значение.

См. также values(), QCommandLineOption::setDefaultValue() и QCommandLineOption::setDefaultValues().

QStringList QCommandLineParser::values(const QString &optionName) const

Возвращает список значений параметра, найденных для данного имени параметра optionName, или пустой список, если не найден.

Указанное имя может быть любым длинным или коротким именем любого параметра, добавленного с помощью addOption(). Все имена параметров считаются эквивалентными. Если имя не распознается или параметр отсутствует, возвращается пустой список.

Для параметров, найденных парсером, список будет содержать запись для каждого случая обнаружения параметра парсером. Если параметр не был указан в командной строке, возвращаются значения по умолчанию.

Возвращается пустой список, если параметр не принимает значение.

См. также value(), QCommandLineOption::setDefaultValue() и QCommandLineOption::setDefaultValues().

QStringList QCommandLineParser::values(const QCommandLineOption &option) const

Это перегруженная функция.

Возвращает список значений параметра, найденных для данного option, или пустой список, если не найден.

Для параметров, найденных парсером, список будет содержать запись для каждого случая обнаружения параметра парсером. Если параметр не был указан в командной строке, возвращаются значения по умолчанию.

Возвращается пустой список, если параметр не принимает значение.

См. также value(), QCommandLineOption::setDefaultValue() и QCommandLineOption::setDefaultValues().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qcommandlineparser.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API