import sys
from PyQt5.QtWidgets import QMainWindow, QApplication, QDesktopWidget


class CenterForm(QMainWindow):
def __init__(self):
super(CenterForm, self).__init__()
# 设置主窗口的标题
self.setWindowTitle('居中显示的窗口')
# 设置窗体大小
self.resize(400, 300)

def center(self):
# 获得屏幕坐标系
screen = QDesktopWidget().screenGeometry()
# 获得窗口坐标系
size = self.geometry()
# 获得窗口相关坐标
newLeft = (screen.width() - size.width()) // 2
newTop = (screen.height() - size.height()) // 2
# 移动窗口使其居中
self.move(newLeft, newTop)


if __name__ == '__main__':
# 创建QApplication的实例
app = QApplication(sys.argv)
# 创建窗口
main = CenterForm()
# 调用方法使窗口居中
main.center()
# 展示窗口
main.show()
# 退出,注意这里的参数是为了防止应用秒退
sys.exit(app.exec_())