「Qtの設定 - コマンドライン引数」の版間の差分

ナビゲーションに移動 検索に移動
編集の要約なし
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>


案内メニュー