C++ wxWidgetsアプリケーションに渡されたコマンドライン引数を読み取る方法はありますか?もしそうなら、そうする方法の例を教えてください。wxWidgetsのコマンドライン引数
4
A
答えて
2
int main(int argc, char **argv)
{
wxApp::CheckBuildOptions(WX_BUILD_OPTIONS_SIGNATURE, "program");
wxInitializer initializer;
if (!initializer)
{
fprintf(stderr, "Failed to initialize the wxWidgets library, aborting.");
return -1;
}
static const wxCmdLineEntryDesc cmdLineDesc[] =
{
{ wxCMD_LINE_SWITCH, "h", "help", "show this help message",
wxCMD_LINE_VAL_NONE, wxCMD_LINE_OPTION_HELP },
// ... your other command line options here...
{ wxCMD_LINE_NONE }
};
wxCmdLineParser parser(cmdLineDesc, argc, wxArgv);
switch (parser.Parse())
{
case -1:
wxLogMessage(_T("Help was given, terminating."));
break;
case 0:
// everything is ok; proceed
break;
default:
wxLogMessage(_T("Syntax error detected, aborting."));
break;
}
return 0;
}
1
それはwxAppConsole::argc と wxAppConsole::argvを提供wxAppConsole
からinheritesとしてあなたのwxApp
からコマンドラインの変数にアクセスすることができます。
5
プレーンC++では、argc
とargv
があります。 wxWidgetsアプリケーションを構築するときは、wxApp::argc
,wxApp::argv[]
またはwxAppConsole::argc
,を使用してアクセスできます。 wxApp
はwxAppConsole
から派生しているので、コンソールアプリケーションかGUIアプリケーションかによってどちらかが動作します。あなたはまた、wxCmdLineParserに興味がある可能性がありwxAppConsole
IMPLEMENT_APP(MyApp)
bool MyApp::OnInit() {
// Access command line arguments with wxApp::argc, wxApp::argv[0], etc.
// ...
}
を参照してください。
関連する問題
- 1. コマンドライン引数
- 2. WinMainコマンドライン引数
- 3. gruntjs - コマンドライン引数
- 4. パーススイッチ(コマンドライン引数)
- 5. ASP.NETコマンドライン引数
- 6. コマンドライン引数
- 7. Accessコマンドライン引数
- 8. バッチファイルのコマンドライン引数
- 9. オプションのコマンドライン引数
- 10. leiningenのコマンドライン引数
- 11. Emacsのコマンドライン引数
- 12. シェルのコマンドライン引数
- 13. ocamldebugのコマンドライン引数
- 14. コマンドライン引数のbash
- 15. 渡すコマンドライン引数
- 16. コマンドライン引数は、ファイル
- 17. 抽出コマンドライン引数
- 18. Pythonコマンドライン引数(Windows)
- 19. コマンドライン引数配列
- 20. Python:PowerShellコマンドライン引数パーサー
- 21. Javaのコマンドライン引数のスペース
- 22. bashのコマンドライン引数のバブルソート
- 23. 変更ディレクトリのコマンドライン引数
- 24. ユニットテストの "Simulate"コマンドライン引数
- 25. DNSルックアップのコマンドライン引数
- 26. .exeプログラムのC++コマンドライン引数
- 27. コマンドライン引数の理解
- 28. Pythonのコマンドライン引数セミコロンループエラー
- 29. C++のコマンドライン引数Eclipse CDT?
- 30. SQLスクリプトのコマンドライン引数
'main'関数には、通常は' argc'と 'argv'という2つの引数があります。これはアプリケーションに渡されるコマンドライン引数であり、wxWidgetsに渡します。必要ならば、あなた自身の 'main'への引数をチェックしてください。 –
@ JoachimPileborg:wxWidgetsプログラムの初期化方法に精通しているかどうかはわかりませんが、通常はwxFrameとwxApplicationウィンドウを使用していて、これらの2つの変数にアクセスできません。 – jack
アプリケーションクラスにパラメータを取得するメソッドがない場合、そこから引数を取得するために、おそらく 'IMPLEMENT_APP'マクロを再実装する必要があります。 –