Jak napisać instrukcję switch dla ciągów w Qt?
Muszę utworzyć odpowiednik instrukcji switch / case dla łańcuchów w C ++ z Qt. Uważam, że najprostszym sposobem jest coś takiego (pseudo kod)
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";
}
Ale to nie wykorzystuje niektórych funkcji Qt. Czytałem o QStringList (aby znaleźć pozycję ciągu na liście ciągów) i std: map (zobaczJak łatwo odwzorować wyliczenia c ++ na łańcuchy czego nie rozumiem w pełni).
Czy jest lepszy sposób na przełączanie ciągów?