12,788
回編集
編集の要約なし |
|||
6行目: | 6行目: | ||
<br><br> | <br><br> | ||
== サンプルコード == | == サンプルコード 1 == | ||
以下のサンプルコードでは、<code>sl</code>コマンドのオプションに倣って、<code>-a</code>、<code>-l</code>、<code>-F</code>、<code>-h/–help</code>を解析している。<br> | 以下のサンプルコードでは、<code>sl</code>コマンドのオプションに倣って、<code>-a</code>、<code>-l</code>、<code>-F</code>、<code>-h/–help</code>を解析している。<br> | ||
<source lang="c++"> | <source lang="c++"> | ||
87行目: | 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> | |||
== サンプルコード 2 == | |||
上記とは別の方法として、<code>QCoreApplication::arguments()</code>を使用することもできる。<br> | |||
<code>QCoreApplication::arguments()</code>の型は<code>QStringList</code>であるため、簡単に取得および加工することができる。<br> | |||
<br> | |||
以下の例では、全てのコマンドライン引数を表示している。<br> | |||
コマンドライン引数の1つ目の要素を削除している理由は、1つ目の引数にはソフトウェアのパスが渡されるからである。<br> | |||
<syntaxhighlight lang="c++"> | |||
QStringList argv = QCoreApplication::arguments(); | |||
argv.removeAt(0); | |||
for(QString arg : argv) | |||
{ | |||
qDebug() << "argument = " << arg; | |||
} | |||
</syntaxhighlight> | |||
<br> | |||
上記のように記述することで、コマンドライン引数を<code>QStringList</code>クラスで簡単に取得することができる。<br> | |||
<br><br> | <br><br> | ||