본문 바로가기
프로그래밍/python

아이콘 툴바메뉴 만들기

by 마루의 일상 2024. 5. 7.
728x90
반응형

오늘은 아이콘 툴바를 만드는 방법에 대해 알아보려고해요

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QAction, qApp
from PyQt5.QtGui import QIcon

class Example(QMainWindow):
    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):
        # 종료 액션 생성
        exitAct = QAction(QIcon('exit.png'), 'Exit', self)
        exitAct.setShortcut('Ctrl+Q')  # 단축키 설정
        exitAct.triggered.connect(qApp.quit)  # 액션과 메서드 연결

        # 툴바 생성 및 액션 추가
        self.toolbar = self.addToolBar('Exit')
        self.toolbar.addAction(exitAct)

        # 윈도우 설정
        self.setGeometry(300, 300, 300, 200)  # 윈도우 위치 및 크기 설정
        self.setWindowTitle('Icon Toolbar Example')  # 윈도우 제목 설정
        self.show()  # 윈도우 표시

if __name__ == '__main__':
    app = QApplication(sys.argv)  # 애플리케이션 객체 생성
    ex = Example()  # 메인 윈도우 객체 생성
    sys.exit(app.exec_())  # 애플리케이션 실행 및 이벤트 루프 시작

 

코드 설명:

  1. QApplication, QMainWindow, QAction, qApp, QIcon 등 필요한 모듈을 임포트합니다.
  2. Example 클래스를 선언하고, QMainWindow 클래스를 상속받습니다.
  3. __init__ 메서드에서는 부모 클래스의 생성자를 호출한 후 initUI() 메서드를 호출합니다.
  4. initUI() 메서드에서는 다음과 같은 작업을 수행합니다:
    • 종료 기능을 하는 액션 객체(exitAct)를 생성합니다.
    • QAction의 생성자에는 아이콘과 텍스트를 설정합니다.
    • setShortcut() 메서드를 사용하여 단축키를 설정합니다.
    • triggered 시그널과 qApp.quit 메서드를 연결하여 액션을 수행했을 때 애플리케이션을 종료하도록 설정합니다.
    • 툴바를 생성하고 액션을 추가합니다.
  5. 윈도우의 설정을 위해 setGeometry() 메서드를 사용하여 위치와 크기를 설정하고, setWindowTitle() 메서드를 사용하여 제목을 설정합니다.
  6. 마지막으로, 애플리케이션 객체를 생성하고 메인 윈도우 객체를 생성한 후 애플리케이션을 실행하여 이벤트 루프를 시작합니다.

현재 폴더에 exit.png와 같은 이름의 아이콘 파일을 넣은 후 실행하면 아이콘을 포함한 툴바가 생성됩니다. 

728x90
반응형