「Qtの設定 - コマンドライン引数」の版間の差分
ナビゲーションに移動
検索に移動
細 (Wiki がページ「Qt - コマンドライン引数」を「Qtの設定 - コマンドライン引数」に、リダイレクトを残さずに移動しました) |
編集の要約なし |
||
2行目: | 2行目: | ||
Qt 5.2以降では、<code>[https://doc.qt.io/qt-5/qcommandlineparser.html QCommandLineParser]</code>クラスと<code>[https://doc.qt.io/qt-5/qcommandlineoption.html QCommandLineOption]</code>クラスが追加され、コマンドライン引数の扱いが簡潔になっている。<br> | Qt 5.2以降では、<code>[https://doc.qt.io/qt-5/qcommandlineparser.html QCommandLineParser]</code>クラスと<code>[https://doc.qt.io/qt-5/qcommandlineoption.html QCommandLineOption]</code>クラスが追加され、コマンドライン引数の扱いが簡潔になっている。<br> | ||
ここでは、これらのクラスの使用方法について記載する。<br> | ここでは、これらのクラスの使用方法について記載する。<br> | ||
<br> | |||
また、デバッグの時にのみ使用するコマンドライン引数の設定方法も記載する。<br> | |||
<br><br> | <br><br> | ||
85行目: | 87行目: | ||
詳細は、<code>[https://doc.qt.io/qt-5/qcommandlineparser.html QCommandLineParser]</code>と<code>[https://doc.qt.io/qt-5/qcommandlineoption.html QCommandLineOption]</code>のドキュメントを参照すること。<br> | 詳細は、<code>[https://doc.qt.io/qt-5/qcommandlineparser.html QCommandLineParser]</code>と<code>[https://doc.qt.io/qt-5/qcommandlineoption.html QCommandLineOption]</code>のドキュメントを参照すること。<br> | ||
また、他の使用方法については、[https://code.qt.io/cgit/qt/qtbase.git/tree/tests/auto/corelib/tools/qcommandlineparser/tst_qcommandlineparser.cpp qtbase/tests/auto/corelib/tools/qcommandlineparser/tst_qcommandlineparser.cpp]のテストケースを参照すること。<br> | また、他の使用方法については、[https://code.qt.io/cgit/qt/qtbase.git/tree/tests/auto/corelib/tools/qcommandlineparser/tst_qcommandlineparser.cpp qtbase/tests/auto/corelib/tools/qcommandlineparser/tst_qcommandlineparser.cpp]のテストケースを参照すること。<br> | ||
<br><br> | |||
== デバッグ時のコマンドライン引数の設定 == | |||
Qt Creatorを起動して、任意のQtプロジェクトを開く。<br> | |||
Qt Creatorの画面左にある[プロジェクト]アイコン - [Build & Run]セクション - [Run]項目を選択して、[実行時の設定]画面を表示する。<br> | |||
[実行時の設定]画面から、[実行]セクション - [コマンドライン引数]項目に、コマンドライン引数を記述する。<br> | |||
<br> | |||
コマンドライン引数の記述方法は、以下の通りである。<br> | |||
# 各引数は半角スペースで区切る | |||
hoge piyo fuga | |||
# 引数の内容に空白が入っている場合は、ダブルクォーテーション""で囲む | |||
"hoge piyo" fuga | |||
# 引数の内容にダブルクォーテーション""が入っている場合は、直前にエスケープシーケンスを記述する | |||
"hoge \" piyo" fuga | |||
<br><br> | <br><br> | ||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:Qt]] | [[カテゴリ:Qt]] |
2020年10月29日 (木) 11:03時点における版
概要
Qt 5.2以降では、QCommandLineParser
クラスとQCommandLineOption
クラスが追加され、コマンドライン引数の扱いが簡潔になっている。
ここでは、これらのクラスの使用方法について記載する。
また、デバッグの時にのみ使用するコマンドライン引数の設定方法も記載する。
サンプルコード
以下のサンプルコードでは、sl
コマンドのオプションに倣って、-a
、-l
、-F
、-h/–help
を解析している。
#include <QtCore/QCoreApplication>
#include <QtCore/QCommandLineParser>
#include <QtCore/QDebug>
int main(int argc, char *argv[])
{
QCoreApplication app(argc, argv);
app.setApplicationName(QStringLiteral("sl - correct miss typing"));
QCommandLineParser parser;
parser.setApplicationDescription(QStringLiteral("sl is a highly developed animation program, which corrects your miss typing."));
parser.addHelpOption();
QCommandLineOption accidents(QStringLiteral("a"), QStringLiteral("It seems some accidents have happened. People give sad cries."));
parser.addOption(accidents);
QCommandLineOption smaller(QStringLiteral("l"), QStringLiteral("Becomes smaller."));
parser.addOption(smaller);
QCommandLineOption fly(QStringLiteral("F"), QStringLiteral("Flies."));
parser.addOption(fly);
parser.process(app);
if (parser.isSet(accidents))
{
qDebug() << "Help!";
}
if (parser.isSet(smaller))
{
qDebug() << "smaller";
}
if (parser.isSet(fly))
{
qDebug() << "I can fly!";
}
return 0;
}
# 実行 ./sl ./sl -a ./sl -l ./sl -a -l ./sl -al ./sl -h ./sl -S # 結果 Help! smaller Help! smaller Help! smaller Usage: ./sl [options] sl is a highly developed animation program, which corrects your miss typing. Options: -h, --help Displays this help. -a It seems some accidents have happened. People give sad cries. -l Becomes smaller. -F Flies. Unknown option 'S'.
※備考
様々なケースに対応できるような構造になっている。
詳細は、QCommandLineParser
とQCommandLineOption
のドキュメントを参照すること。
また、他の使用方法については、qtbase/tests/auto/corelib/tools/qcommandlineparser/tst_qcommandlineparser.cppのテストケースを参照すること。
デバッグ時のコマンドライン引数の設定
Qt Creatorを起動して、任意のQtプロジェクトを開く。
Qt Creatorの画面左にある[プロジェクト]アイコン - [Build & Run]セクション - [Run]項目を選択して、[実行時の設定]画面を表示する。
[実行時の設定]画面から、[実行]セクション - [コマンドライン引数]項目に、コマンドライン引数を記述する。
コマンドライン引数の記述方法は、以下の通りである。
# 各引数は半角スペースで区切る hoge piyo fuga # 引数の内容に空白が入っている場合は、ダブルクォーテーション""で囲む "hoge piyo" fuga # 引数の内容にダブルクォーテーション""が入っている場合は、直前にエスケープシーケンスを記述する "hoge \" piyo" fuga