Удалить все виджеты: они автоматически удаляются из макета. Вы также можете установить другой макет на главном виджете, а затем добавить новые виджеты к нему. При переходе на предыдущую страницу установите на ней предыдущий макет. Однако вам придется управлять видимостью виджетов: они все равно будут видны.
Но ничего из этого не требуется: каждая страница должна иметь свой собственный виджет, который вы родительский для основного виджета, когда вы хотите, чтобы он отображался, и не родительский, когда он должен быть скрыт. В этом случае основной макет может быть простым, например QVBoxLayout
, поскольку он содержит только один виджет - текущую страницу.
А потом: вы уверены, что нет ни одного виджета или макета, который бы поддерживал страницы виджетов? Посмотрите в документации, вы можете быть приятно удивлены:)