Appia의 IT세상

파이썬[Python GUI, PyQt5 Tutorial 027] Application의 아이콘(Icon) 설정하기 본문

Python/Python PyQt5 (GUI)

파이썬[Python GUI, PyQt5 Tutorial 027] Application의 아이콘(Icon) 설정하기

Appia 2020. 8. 18. 07:37
반응형

파이썬[Python GUI, PyQt5 Tutorial 027] 

Application의 아이콘(Icon) 설정하기

 

이번 포스팅은 파이썬[Python]의 Application의 아이콘을 만드는 방법에 대해서 이야기를 해보도록 하겠습니다. 기본적으로 PyQt의 Application을 실행시키면 다음과 같은 화면이 나타납니다. 

Application의 기본 아이콘 PyQt

실제 저의 경우, 특정 회사의 로고를 넣어주라는 주문을 받아서 관련해서 넣었던 기억이 있습니다. 이렇게 저 부분은 기본 아이콘(ICON)을 사용하기 보다는 특정 이미지로 사용하길 원하는 경우가 많습니다. 그럼 다음과 같이 코드를 작성해보겠습니다. 

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QDial, QLabel, QPushButton,QToolTip
from PyQt5.QtGui import QFont, QIcon
 
class MyApp(QWidget):
 
    def __init__(self):
        super().__init__()
        QToolTip.setFont(QFont('맑은 고딕'14))
        self.dial = QDial(self)
        self.dial.setToolTip('이것은 다이얼입니다.')
        self.dial.move(3050)
        self.dial.setRange(050)
        self.label = QLabel('0',self)
        self.label.move(200,100)
 
        btn = QPushButton('Default', self)
        btn.setToolTip('이것은 <b>초기화</b> 버튼입니다.')
        btn.move(35160)
 
        self.setWindowTitle('QDial')
        self.setWindowIcon(QIcon('icon.png'))
        self.setGeometry(300300400200)
        self.show()
 
if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = MyApp()
    sys.exit(app.exec_())
cs

이와 같은 형태로 작성을 해봤습니다. 물론, 앞서 포스팅에서 사용했던 코드에 아이콘 이미지만 추가하도록 작성했습니다. 그럼 앞선 포스팅 된 부분은 다음과 같습니다. . 

파이썬[Python GUI, PyQt5 Tutorial 026] GUI 객체 설명, 글풍선, 툴팁(QToolTip) 달기

그럼 여기에서, 아이콘을 입력하는 부분을 구체적으로 살펴보겠습니다.

        self.setWindowIcon(QIcon('icon.png'))
cs

다음과 같은 부분입니다. 아이콘의 안의 파일 이름의 경우에는 만약, 이미지가 다른 path에 위치한다면, 그 위치까지도 함께 명시해주셔야 합니다. 실제 사이지는 자동으로 아이콘 사이즈로 조정이 됩니다. 그럼 위의 코드가 적용된 이미지를 한번 살펴보겠습니다. 

Application의 설정된 아이콘

위와 같은 형태로, 아이콘이 적용이 됩니다. 적용된 이미지는 다음과 같습니다. 

아이콘 사용으로 적용된 이미지 

 

이번 포스팅은 파이썬[Python GUI, PyQt5 Tutorial 027] Application의 아이콘(Icon) 설정하기라는 주제로 Application의 아이콘 이미지를 설정하는 부분에 대해서 알아봤습니다. 혹 코딩을 하시다가 궁금하신 점이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 

반응형
Comments