Fre*_*ind 16 python qt pyqt pyside
这段代码有效,但我想知道是否有更简单的方法:
def center(self):
qr = self.frameGeometry()
cp = gui.QDesktopWidget().availableGeometry().center()
qr.moveCenter(cp)
self.move(qr.topLeft())
Run Code Online (Sandbox Code Playgroud)
小智 19
只需将此行添加到主窗口:
self.move(QtGui.QApplication.desktop().screen().rect().center()- self.rect().center())
Run Code Online (Sandbox Code Playgroud)
self.move(QDesktopWidget().availableGeometry().center() - self.frameGeometry().center())
Run Code Online (Sandbox Code Playgroud)
不,这是最简单的方法.这是我在C++中使用的片段:
QRect desktopRect = QApplication::desktop()->availableGeometry(this);
QPoint center = desktopRect.center();
move(center.x() - width() * 0.5, center.y() - height());
Run Code Online (Sandbox Code Playgroud)