Без конкретных примеров ничего сказать не могу. Могу только посоветовать почитать литературу по проектированию. Допустим, Боба Мартина. Данные можно сгруппировать в структуры. Желательно разбить на классы, а не валить все в MainWindow. Прочитай про SOLID. В общем, подтяни свои знания по ООП.
ну например у меня поток, в нем выполняется какое то действие после которого нужно что-то поменять в UI, в потоке ui недоступно ну и начинается:
void Class::SlotForSetTitle(QString val){/* ... */}
void Class::SlotForChangeStatus(QString val){/* ... */}
void Class::SlotForCheckButtonPlay(QString val){/* ... */}
void Class::SlotForCheckButtonStop(QString val){/* ... */}
void Class::SlotForClearSomething(QString val){/* ... */}
ну и так далее...