Это сделает любой толковый программист, которому дадут полномочия. В смысле он распишет все процессы по пунктам, а вот насколько команда будет их соблюдать — зависит и от лида, и от РМа.
Что касается окон, вариантов много, можно обойтись без этих всех заморочек с лоадерами и компонентами (если нет необходимости). Например, корневой элемент просто Item, в нём вложены два окна с противоположными значениями visible.
Дополнено: представим что я скинул эту программу другу, у него нету qtcreator, но он хочет запустить программу с интерфейсом на своём пк, что ему делать?
Вроде задача простая, а начинаешь жестко тупить, и убиваешь на неё времени в разы больше, чем раньше. Я встречал человека, который в разговоре перепутал класс и объект (не оговорка), хотя в своё время был хорошим программистом.
Вернуть навыки можно, но, в зависимости от длины перерыва, придется практиковаться от месяцев до лет, плюс подтягивать отставание от развития библиотек и языков.
А кто заставляет всё больше узнавать С++? Вместе с Qt достаточно использовать С++03 с некоторыми дополнениями из новых стандартов типа auto и замыканий, не теряя при этом в продуктивности.
Я уже тысячу лет не использую виджеты, и плохо помню как там что работает, но теоретически — это может управляться через логику в своём делегате-наследнике QItemDelegate.
А может отдельной ролью в модели, которая будет хранить enum с вариантами отображения меню.