Why don't you just use layouts? Then you can reimplement resizeEvent() and simply change the font size of your top-level widget. Since the font size is inherited by child widgets, they will adjust and since a layout manages them, their sizes will adjust. It seems to me you are trying to reach to your right ear with your left hand
Bookmarks