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

ナビゲーションに移動 検索に移動
8行目: 8行目:


== QCommandLineParserクラスの使用 ==
== QCommandLineParserクラスの使用 ==
以下の例では、<code>QCommandLineParser</code>クラスを使用して、指定されたオプションを処理している。<br>
以下の例では、<code>QCommandLineParser</code>クラスを継承したサブクラスを定義して、指定されたオプションを処理している。<br>
<br>
<br>
* QCommandLineParserクラスを使用してコマンドラインオプションを定義する。
<code>QCommandLineParser</code>クラスのデフォルトの動作により、例えば、--hオプションが-hオプションと同様に処理されてしまう。<br>
* -hオプション、--helpオプション、-vオプション、--versionオプションは、その後に続く値が不要なため、Qtにより自動的に処理される。
この問題を解決するために、<code>QCommandLineParser</code>クラスの<code>process</code>メソッドをオーバーライドして、カスタムの解析ロジックを実装している。<br>
* -cオプション、--configオプションを追加で定義して、値を受け取るように指定する。
<br>
* 上記に存在しないオプションが指定された場合、それらを表示する。
正規表現を使用して、有効なオプション (-v, -h, -c, --version, --help, --config) のみを受け付けるようにする。<br>
上記に存在しないオプションが指定された場合は、"不明なオプション"として処理する。<br>
<br>
<br>
  <syntaxhighlight lang="c++">
  <syntaxhighlight lang="c++">

案内メニュー