Skip to content Skip to sidebar Skip to footer

How To Make A Widget In The Center Of The Screen In Pyside/pyqt?

This code works, but I wonder if there is any simpler way: def center(self): qr = self.frameGeometry() cp = gui.QDesktopWidget().availableGeometry().center() qr.moveCen

Solution 1:

just add this line to your main windows :

self.move(QtGui.QApplication.desktop().screen().rect().center()- self.rect().center())

Solution 2:

self.move(QDesktopWidget().availableGeometry().center() - self.frameGeometry().center())

Solution 3:

No, it's the simplest way. Here is a snippet I've used in C++:

QRectdesktopRect= QApplication::desktop()->availableGeometry(this);
  QPointcenter= desktopRect.center();

  move(center.x() - width() * 0.5, center.y() - height());

Solution 4:

Just another "func-style" example. If you use it several times.

screen_center = lambda widget: QApplication.desktop().screen().rect().center()- widget.rect().center()

And every time in code:

widget.move(screen_center(widget))

Solution 5:

QDesktopWidget is deprecated. Use QScreen instead.

    def centerWidgetOnScreen(self, widget):
        centerPoint = QtGui.QScreen.availableGeometry(QtWidgets.QApplication.primaryScreen()).center()
        fg = widget.frameGeometry()
        fg.moveCenter(centerPoint)
        widget.move(fg.topLeft())

Post a Comment for "How To Make A Widget In The Center Of The Screen In Pyside/pyqt?"