Wie schreibe ich eine switch-Anweisung für Strings in Qt?
Ich muss das Äquivalent einer switch / case-Anweisung für Strings in C ++ mit Qt erstellen. Ich glaube, der einfachste Weg ist so etwas (Pseudocode)
enum colours { red, green, blue };
QString array[] colour_names = { "red", "green", "blue" };
switch (color_names[user_string]) {
case red: answer="Chose red";
case green: answer="Chose green";
case blue: answer="Chose blue";
other: answer="Invalid choice";
}
Dies nutzt jedoch einige der Funktionen von Qt nicht aus. Ich habe über QStringList's gelesen (um die Position des Strings in einer Liste von Strings zu finden) und std: map (sieheSo ordnen Sie Strings einfach C ++ - Enums zu was ich nicht ganz verstehe).
Gibt es eine bessere Möglichkeit, Strings einzuschalten?