If you want to "freeze" a widget, simply set it to "disabled".
Not sure what you mean with not painting while not being selected.
When a widget has new data to display, it can simply request redrawing by calling its update() method.
Qt will then issue a new paint event and let the widget redraw itself.
If you need to share data between windows, simply pass a pointer or reference to that data, for example as an argument to the second window's constructor.
Cheers,
_
Bookmarks