본문 바로가기

프로그래밍/PyQt5 GUI

9. 창을 화면의 가운데로

창을 화면의 정가운데로 띄웁니다.

 

9-1 예제

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

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

    def initUI(self):
        self.setWindowTitle('Centering')
        self.resize(500, 350)
        self.center()
        self.show()

    def center(self):
        qr = self.frameGeometry()
        cp = QDesktopWidget().availableGeometry().center()
        qr.moveCenter(cp)
        self.move(qr.topLeft())

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

9-2 설명

qr = self.frameGeometry()
cp = QDesktopWidget().availableGeometry().center()
qr.moveCenter(cp)
self.move(qr.topLeft())
  • QWidget 클래스의 frameGeometry() 메서드를 이용해서 창의 위치와 크기 정보를 가져옵니다.
  • QDesttopWidget() 클래스의 availableGemetry() 메서드를 이용하여 모니터의 위치와 크기 정보를 가지고 중앙 위치를 가져옵니다.
  • 창의 직사각형 위치를 화면의 중심으로 이동시킵니다.
  • self.move(qr.topLeft()) 는 현재 창의 시작 위치를 직사각형(qr)의 시작 위치로 이동시킵니다.

9-3 결과

'프로그래밍 > PyQt5 GUI' 카테고리의 다른 글

11. StyleSheet (스타일 꾸미기)  (0) 2021.07.22
10. 날짜와 시간 표시하기  (0) 2021.07.22
8. 툴바 만들기  (0) 2021.07.22
7. 메뉴바 만들기  (0) 2021.07.22
6. 상태바 만들기  (0) 2021.07.22