Quote Originally Posted by wysota
There is resizeEvent() which you can override (either by an event filter or by subclassing). This is also a solution to your first problem. A resize event is triggered right after the widget is shown (or rather "assigned size").
I've tried to subclass it, unfortunately when calling tableWidget->height() from resizeEvent(), it still reports the wrong size. However, as soon as i resize the window, the reported size is correct. It is a bit frustrating that it doesn't work at the first resizeEvent() call.