I want to make a PyQT4 window(QtGui.QMainWindow
) jump to the front when the application received a specified message from another machine.
Usually the window is minimized.
I tried the raise_()
and show()
method but it doesn’t work.
Advertisement
Answer
This works:
# this will remove minimized status # and restore window with keeping maximized/normal state window.setWindowState(window.windowState() & ~QtCore.Qt.WindowMinimized | QtCore.Qt.WindowActive) # this will activate the window window.activateWindow()
Both are required for me on Win7.
setWindowState
restores the minimized window and gives focus. But if the window just lost focus and not minimized, it won’t give focus.
activateWindow
gives focus but doesn’t restore the minimized state.
Using both has the desired effect.