본문 바로가기
  • AI 개발자가 될래요
Python

[Python] Pyqt5로 GUI 제작 시 모니터 해상도, 배율에 따른 사이즈 변화 조정

by 꿀개 2023. 6. 14.

Pyqt5로 GUI 제작 시 모니터 해상도, 배율에 따른 윈도우, 폰트 사이즈 변화 조정

 

요즘 Lip Color Change GUI를 작성중인데..

사용하는 모니터의 해상도와 배율에 따라서 GUI의 크기가 달라지고 폰트가 짤린다.

 

예를 들면 화면 배율을 200%(노트북 제조사에서 권장하는 배율) 로 설정 시 아래와 같이 버튼이 짤린다.

해상도와 배율 변화에 따른 GUI 사이즈 변화

 

따라서 해상도와 배율에 독립적인 GUI를 만들 필요가 있다.

이 문제를 해결하는 방법은 아래와 같다.

 

맨 위에 import 부분에 다음 코드를 넣어준다. 여러 warning들을 설정해 준다.

from os import environ

def suppress_qt_warnings():
    environ["QT_DEVICE_PIXEL_RATIO"] = "0"
    environ["QT_AUTO_SCREEN_SCALE_FACTOR"] = "1"
    environ["QT_SCREEN_SCALE_FACTORS"] = "1"
    environ["QT_SCALE_FACTOR"] = "1"

 

그 다음 실행 부분에서 해당 메소드를 호출해준다.

if __name__ == "__main__":
    import sys

    suppress_qt_warnings()

    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

 

그러면 아래와 같이 배율이 200%로 설정되어있더라도 원했던 윈도우 사이즈를 얻을 수 있다.

윈도우 사이즈 변화를 고친 결과

 

 

끝!