Как написать оператор switch для строк в Qt?

Мне нужно создать эквивалент оператора switch / case для строк в C ++ с помощью Qt. Я считаю, что самый простой способ это что-то вроде этого (псевдокод)

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";
}

Но это неt воспользоваться некоторыми возможностями Qt. Я'мы читали о QStringList 's (чтобы найти положение строки в списке строк), и std: map (см.Как легко отобразить перечисления c ++ в строки который я неТ полностью понимаю).

Есть ли лучший способ сделать переключение на строки?

Ответы на вопрос(3)

Ваш ответ на вопрос