2022-08-05 19:26:12

PyQt 앱 윈도우 크기 고정하는 방법

PyQt로 만든 앱의 윈도우 크기를 고정하고 싶은 경우에는 PyQt6.QtCore에서 QSize를 불러온 후 setFixedSize 함수를 사용할 수 있습니다.

 

from PyQt6.QtCore import QSize

# 중략

self.setFixedSize(QSize(500, 300))

 

가로를 500, 세로를 300으로 설정한 경우에는 다음과 같은 사이즈의 고정된 창이 생성됩니다. 

 

 

사이즈가 고정된 앱이기 때문에 창 최대화 버튼이 비활성화되어 있는 것에 주목하십시오. 

 

PyQt 앱 윈도우 가로 크기만 고정하는 방법

가로 크기만 고정하고 싶을 때는 setFixedWidth 함수를 사용할 수 있습니다.

 

self.setFixedWidth(600)

 

 

PyQt 앱 윈도우 세로 크기만 고정하는 방법

가로 크기만 고정하고 싶을 때는 setFixedHeight 함수를 사용할 수 있습니다. 참고로 Height는 "헤이트"라고 발음하지 않고, "하이트"라고 발음합니다. 저는 긴 시간동안 헤이트로 잘못 인지하고 있었습니다. 

 

self.setFixedHeight(400)

 

 

코드 공유

아무 내용도 없는 앱이지만, 전체 코드가 필요하신 분들이 계실 것 같아서 공유합니다. 

 

import sys
from PyQt6.QtWidgets import QApplication, QMainWindow
from PyQt6.QtCore import QSize

class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("테스트 앱")
        self.setFixedSize(QSize(500, 300))
        # self.setFixedWidth(600)
        # self.setFixedHeight(400)
        
        
if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = MainWindow()
    window.show()
    app.exec()

 

관련 글

- [pyside6] 창 타이틀바에서 닫기 버튼, 최소화 버튼, 최대화 버튼 등을 비활성화 되게 하려면?