Suppose I have multi-threaded my Application. Then as per Qt philosophy you cannot even modify the properties of `Widgets` added in GUI. Say an object of class `Not_GUI` has been moved to another `QThread`, then it illegal to call `button1->SetEnabled(false);` (`button1` is a `QPushButton` added in GUI) in a function of `Not_GUI`.

Currently my application has many GUI `widgets` (like QLabel, QLineEdit, etc) & since all their `events` are processed in only 1 thread the application hangs for a while due to the enormous painting activity.
Is there a way by which I can somehow distribute some of the workload of `Widgets` to various thread's?