как реализовать переходы между "окнами" приложения?

При запуске открывается окно входа, когда введён логин и пароль и нажат вход, происходит переход в основную рабочую область. Если человек не зарегистрирован, то с окна входа переходит он на окно регистрации и при завершении переходит в основное окно программы.
Для переходов надо окна расположить в QStackedWidget и менять индексы текущего "окна" или это делается как-то иначе?