wxWidgets中的命令行参数 < >我有没有办法读取命令行参数传递给C++ WxWIDGET应用程序?如果是,请提供一个示例说明如何操作。

wxWidgets中的命令行参数 < >我有没有办法读取命令行参数传递给C++ WxWIDGET应用程序?如果是,请提供一个示例说明如何操作。,c++,command-line,wxwidgets,C++,Command Line,Wxwidgets,看看这些示例(,)或: 您可以从 WXAPP中访问命令行变量,因为它继承自 WxAppStute,在C++中提供和.< /P> < P>,有 ARC> < /COD>和 ARGV 。在构建wxWidgets应用程序时,可以使用wxApp::argc、wxApp::argv[]或wxAppConsole::argc、wxAppConsole::argv[]访问这些应用程序。请注意,wxApp是从wxAppConsole派生而来的,因此根据您是否有控制台应用程序或GUI应用程序而定。看 您可能还对。

看看这些示例(,)或:


您可以从<代码> WXAPP<代码>中访问命令行变量,因为它继承自<代码> WxAppStute,在C++中提供和.< /P> < P>,有<代码> ARC> < /COD>和<代码> ARGV 。在构建wxWidgets应用程序时,可以使用
wxApp::argc
wxApp::argv[]
wxAppConsole::argc
wxAppConsole::argv[]
访问这些应用程序。请注意,
wxApp
是从
wxAppConsole
派生而来的,因此根据您是否有控制台应用程序或GUI应用程序而定。看


您可能还对。

您的
main
函数有两个参数,通常称为
argc
argv
。这些是传递给应用程序的命令行参数,您可以将其传递给wxWidgets。如果需要,只需自己检查
main
的参数。@JoachimPileborg:我不确定您是否熟悉wxWidgets程序的初始化方式,它们通常使用wxFrame和wxApplication窗口,您显然无法访问这两个变量。如果应用程序类中没有获取参数的方法,可能您必须重新实现
implement\u APP
宏,才能从中获取参数。谢谢您,这正是我需要的。
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; 
}
IMPLEMENT_APP(MyApp)

bool MyApp::OnInit() {
// Access command line arguments with wxApp::argc, wxApp::argv[0], etc.
// ...
}