def eventFilter(self, obj, ev): parent = self.window if (obj != parent): return QToolButton.eventFilter(self, obj, ev); parent = self.window isFullScreen = parent.windowState() & QtCore.Qt.WindowFullScreen if ev.type() == QEvent.WindowStateChange: self.setVisible(isFullScreen) # if isFullScreen: # self.raise_(); # if ev.type() == QEvent.WindowStateChange or ev.type == QEvent.Resize: # # needs to be delayed casue for some reason parent's # # dimensions aren't up to date yet # QTimer.singleShot(30, self.updatePosition) return QToolButton.eventFilter(self, obj, ev)