Skip to content

Instantly share code, notes, and snippets.

@saleph
Last active August 8, 2022 05:20
Show Gist options
  • Save saleph/163d73e0933044d0e2c4 to your computer and use it in GitHub Desktop.
Save saleph/163d73e0933044d0e2c4 to your computer and use it in GitHub Desktop.
[qt5] center a window on screen
__author__ = 'tom'
import sys
from PyQt5.QtWidgets import QWidget, QDesktopWidget, QApplication
class Example(QWidget):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
self.resize(250, 150)
self.center()
self.setWindowTitle('Center')
self.show()
def center(self):
# geometry of the main window
qr = self.frameGeometry()
# center point of screen
cp = QDesktopWidget().availableGeometry().center()
# move rectangle's center point to screen's center point
qr.moveCenter(cp)
# top left of rectangle becomes top left of window centering it
self.move(qr.topLeft())
if __name__ == "__main__":
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
@rafa-fiedo
Copy link

I was just searching for that :D

@walid-kbb
Copy link

Thank you !

@zocker-160
Copy link

in case anyone is interested, I created a fork which gets rid of QDesktopWidget, which is the better way of doing this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment