DockWidgetsの表示・非表示を一気に切り替えたい

QtのDockWidgetの表示・非表示を一時的に切り替えたいのですが、例えば、

dockWidget1->setVisible( false );
dockWidget2->setVisible( false );
dockWidget3->setVisible( false );

といった感じで「非表示になっているDockWidgetsを再表示」すると、DockWidgetとして追加した順番やウィジエットのSizePolicyなどによって、ウィジットのサイズが変化してしまいます。できれば、非表示にする前と、再表示した後のDockWidgetのサイズは保持したいところです。CentralWidgetのresizeイベントも何度か発生してしまうようで、パフォーマンス的にも好ましくありません。
一気にぱっと画面が更新され、ウィジェットのサイズも保持される良い方法って無いものでしょうか?

補足 (11/05)

QMainWindow を一時的に隠して (setVisible( false ))、その間に dockWidgetの表示・非表示を切り替え、QMainWindowをsetVisible( true ) で再表示すると、DockWidgetsのサイズが上手く固定されるようです。でも、画面がチラつくというデメリットが…。