PyQt5 之視窗居中

Galois發表於2020-03-30
#!/usr/bin/python3
# -*- coding: utf-8 -*-

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

class Example(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.resize(250, 150)
        self.center()
        self.setWindowTitle('Center')
        self.show()

    def center(self):
        # 獲得主視窗所在的框架
        qr = self.frameGeometry()
        # 獲取顯示器的解析度,然後得到螢幕中間點的位置
        cp = QDesktopWidget().availableGeometry().center()
        # 然後把主視窗框架的中心點放置到螢幕的中心位置
        qr.moveCenter(cp)
        # 然後透過 move 函式把主視窗的左上角移動到其框架的左上角
        self.move(qr.topLeft())

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

QtGui.QDesktopWidget 提供了使用者的桌面資訊,包括螢幕的大小。
視窗居中四步走:

def center(self):
        # 獲得主視窗所在的框架
        qr = self.frameGeometry()
        # 獲取顯示器的解析度,然後得到螢幕中間點的位置
        cp = QDesktopWidget().availableGeometry().center()
        # 然後把主視窗框架的中心點放置到螢幕的中心位置
        qr.moveCenter(cp)
        # 然後透過 move 函式把主視窗的左上角移動到其框架的左上角
        self.move(qr.topLeft())
本作品採用《CC 協議》,轉載必須註明作者和本文連結
不要試圖用百米衝刺的方法完成馬拉松比賽。

相關文章