Gibt es eine Möglichkeit, die Befehlszeilenargumente zu lesen, die in einer C++ - Anwendung wxWidgets übergeben werden? Wenn ja, könnten Sie bitte ein Beispiel dafür geben.Befehlszeilenargumente in WxWidgets
4
A
Antwort
2
Werfen Sie einen Blick auf diese Beispiele (1, 2) oder:
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
Sie den Zeilenbefehl zugreifen können Variablen aus Ihrem wxApp
, wie es aus wxAppConsole
inherites die wxAppConsole::argc und wxAppConsole::argv bietet.
5
In Plain C++ gibt es argc
und argv
. Wenn Sie eine wxWidgets-Anwendung erstellen, können Sie auf diese zugreifen, indem Sie wxApp::argc
, wxApp::argv[]
oder wxAppConsole::argc
, wxAppConsole::argv[]
verwenden. Beachten Sie, dass wxApp
von wxAppConsole
abgeleitet ist. Dies funktioniert je nachdem, ob Sie eine Konsolenanwendung oder eine GUI-App verwenden. Siehe wxAppConsole
IMPLEMENT_APP(MyApp)
bool MyApp::OnInit() {
// Access command line arguments with wxApp::argc, wxApp::argv[0], etc.
// ...
}
Sie auch in wxCmdLineParser interessiert sein könnten.
Verwandte Themen
- 1. Befehlszeilenargumente
- 2. Vollbild eingeben Hotkey in wxWidgets
- 3. wxGrid Problem in wxWidgets 2.9.1
- 4. WxWidgets in C++ auf Windows
- 5. Befehlszeilenargumente in F # -Programm?
- 6. Benannte Befehlszeilenargumente in Ruby
- 7. Firefox Befehlszeilenargumente in Verlängerung
- 8. Inject Befehlszeilenargumente in psake
- 9. PHP - Befehlszeilenargumente in Windows
- 10. Befehlszeilenargumente in docker-compose
- 11. Griffon Befehlszeilenargumente
- 12. Befehlszeilenargumente Array
- 13. gruntjs - Befehlszeilenargumente
- 14. WinMain-Befehlszeilenargumente
- 15. Absolut tödlich wxWidgets Pain
- 16. Breadcrumbs für wxWidgets treeCtrl
- 17. wxWidgets, wxCheckBox Etikett empfindlich
- 18. wxWidgets und VC++
- 19. Java Befehlszeilenargumente
- 20. Eclipse-Befehlszeilenargumente
- 21. wxWidgets grafischer Designer-Vorschlag
- 22. WxWidgets Verknüpfung Problem
- 23. Werkzeugkette für WxWidgets erklärt
- 24. wxWidgets Übersetzungen laden nicht
- 25. wxWidgets unberechenbar Seg Fehler
- 26. WxWidgets Transparent wxTextCtrl
- 27. WxWidgets die 'neuen' Schlüsselwort
- 28. WxWidgets - ToggleButton mit conditon
- 29. Befehlszeilenargumente in Bash zu Rscript
- 30. VS2010 - Projektmakrovariablen in Startoptionen Befehlszeilenargumente
Ihre Hauptfunktion hat zwei Argumente, normalerweise Argc und Argv. Dies sind die Befehlszeilenargumente, die an Ihre Anwendung übergeben werden und die Sie an wxWidgets übergeben. Überprüfen Sie diese Argumente einfach selbst, wenn Sie es brauchen. –
@JoachimPileborg: Ich bin mir nicht sicher, ob Sie mit der Initialisierung von wxWidgets-Programmen vertraut sind, sie verwenden jedoch normalerweise wxFrame- und wxApplication-Fenster, und Sie haben nicht einfach Zugriff auf diese beiden Variablen. – jack
Wenn es keine Methoden in der Anwendungsklasse gibt, um die Parameter zu erhalten, müssen Sie vielleicht das Makro 'IMPLEMENT_APP' neu implementieren, um die Argumente von dort zu bekommen. –