One idea could be to try putting those buttons inside a simple wrapper widget. This wrapper widget would simply show/hide the buttons accordingly in its resizeEvent(). This way you wouldn't have to rely on the signal at all...