Show QMainwindow in the middle of the screen

Arjun Jain picture Arjun Jain · Apr 19, 2011 · Viewed 7.6k times · Source

I want show my project main window in the middle of the screen . when i call "self.show()" then the window show in the middle of the screen .

Answer

Rodrigo E. Principe picture Rodrigo E. Principe · May 10, 2016

I know you have already solved it, but I make this answer for those who have the same question. I post it mainly because you asked for pyQt and the other answer is for Qt (C++). I found a workaround here: https://bashelton.com/2009/06/pyqt-center-on-screen/

Is so simple and works perfectly, I transmit it..

class ExampleWindow (QtGui.QMainWindow):
    def __init__ (self, parent=None):
        '''constructor'''
        QtGui.QMainWindow.__init__(self, parent)
        self.setGeometry(0, 0, 650, 550)
        self.setWindowTitle("My Example Application")
        self.centerOnScreen()

    def centerOnScreen (self):
        '''centerOnScreen()
Centers the window on the screen.'''
        resolution = QtGui.QDesktopWidget().screenGeometry()
        self.move((resolution.width() / 2) - (self.frameSize().width() / 2),
                  (resolution.height() / 2) - (self.frameSize().height() / 2)) 

Good luck!