Я хотел бы знать, считаете ли вы разумным использование шаблона, аналогичного RAII, для управления состоянием GUI в Qt. Под состоянием графического интерфейса я имею в виду следующее: у меня есть некоторые виджеты (включая состояние курсора мыши). Я хочу, чтобы (не) был виден / включен / изменен после выхода из какого-либо метода, и я не хочу помещать все, что я делаю, в гигантская попытка поймать таким образом:
widget1->show();
...
widgetN->show();
try {
...
}
catch(...) {
widget1->hide();
...
widgetN->hide();
throw;
}
widget1->hide();
...
widgetN->hide();
Если я создаю объект, который позволяет мне связать функцию hide / setEnabled / setCursor (возможно, буст-функтор) с ее конструктором и которая вызывает эту связанную функцию с деструктором (при условии, что все исключения, которые может вызвать эта функция, съедаются / потерял в деструкторе) У меня может быть намного чище код. Это разумно? что я не вижу?
Любой комментарий / предложение будет приветствоваться.
Заранее спасибо,
Federico