Dans mon application Qt dans le gestionnaire d'événements pour les événements de presse de souris J'ai un tel code laidComment gérer correctement différentes situations dans le gestionnaire d'événements de la souris?
void Render::Viewer::mousePressEvent(QMouseEvent* e)
{
switch (e->button())
{
case Qt::LeftButton:
switch (mode_)
{
case Render::Viewer::ModeView:
switch (e->modifiers())
{
case Qt::NoModifier:
...
break;
...
default:
break;
}
break;
case Render::Viewer::ModeEdit:
...
break;
}
break;
case Qt::RightButton:
...
break;
}
}
Même sans allumer la variable MODE_ le code semble terrible. = (Deux nombreux degrés de liberté:.? type bouton, modificateurs, ... Absolument illisible
Y at-il des moyens de surmonter un tel « tas de commutateurs »
Merci, Bill . La réponse est évidente. =) "Diviser et conquérir". Comment pourrais-je oublier ce principe ?! – Wildcat