QAction은 PyQt에서 메뉴 항목이나 툴바 버튼과 같은 사용자 인터페이스 요소를 정의하고 관리하는 데 사용되는 클래스입니다. QAction 객체는 일반적으로 사용자가 트리거할 수 있는 특정 작업(액션)을 나타내며, 이 작업은 메뉴에서 선택되거나 툴바 버튼이 클릭될 때 실행됩니다.
UI, 동작을 코드작성
from PyQt5.QtWidgets import QMainWindow, QAction, QApplication, qApp
from PyQt5.QtGui import QIcon
import sys
class Example(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 종료 QAction 생성
exitAct = QAction(QIcon('exit.png'), 'Exit', self)
exitAct.setShortcut('Ctrl+Q')
exitAct.setStatusTip('Exit application')
exitAct.triggered.connect(qApp.quit)
# 메뉴바 생성
menubar = self.menuBar()
fileMenu = menubar.addMenu('&File')
fileMenu.addAction(exitAct)
# 툴바 생성
self.toolbar = self.addToolBar('Exit')
self.toolbar.addAction(exitAct)
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('QAction Example')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
ui를 QtDesigner로 만들고 동작을 코드에서 작성
from PyQt5 import uic
from PyQt5.QtWidgets import QMainWindow, QApplication, qApp
import sys
class Example(QMainWindow):
def __init__(self):
super().__init__()
# .ui 파일을 로드합니다.
uic.loadUi(r'example.ui', self)
# .ui 파일에서 불러온 QAction을 연결합니다.
self.actionOpen.triggered.connect(self.openFile)
self.actionExit.triggered.connect(qApp.quit)
def openFile(self):
print("Open action triggered")
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
ex.show()
sys.exit(app.exec_())
댓글