프로그래밍/python

아이콘 툴바메뉴 만들기

마루의 일상 2024. 5. 7. 01:21
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
반응형