Qt/PyQt5 강좌

PyQt5 예제 - 단축키로 버튼 누르기

webnautes 2024. 4. 12. 21:56
반응형

단축키로 버튼을 누르는 예제 코드입니다. 엄밀히 말하면 버튼을 실제로 클릭한다기 보다는 버튼 클릭시 호출되는 함수를 단축키 누를때 호출되도록 하는 것입니다.



2024. 4. 11.    최초작성




실행하면 두 개의 버튼이 보입니다. 

 




버튼 1에 보이는 단축키 Ctrl + P를 누르면 아래 메시지가 출력됩니다. 버튼 1을 클릭시에도 동일한 메시지가 출력됩니다.

 

버튼 1이 클릭되었습니다!




버튼 2에 보이는 단축키 1을 누르면 아래 메시지가 출력됩니다.  버튼 2를 클릭시에도 동일한 메시지가 출력됩니다.

 

버튼 2가 클릭되었습니다!



전체 코드입니다.

 

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QHBoxLayout
from PyQt5.QtGui import QKeySequence
from PyQt5.QtWidgets import QShortcut

class MainWindow(QWidget):
    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):
        self.setWindowTitle("단축키 예제")
        self.setGeometry(100, 100, 300, 200)

        self.button1 = QPushButton("버튼 1(Ctrl+P)", self)
        self.button1.clicked.connect(self.onButtonClick1)

        self.button2 = QPushButton("버튼 2(1)", self)
        self.button2.clicked.connect(self.onButtonClick2)



        layout = QHBoxLayout()
        layout.addWidget(self.button1)
        layout.addWidget(self.button2)
        self.setLayout(layout)

        # 단축키 설정
        self.shortcut1 = QShortcut(QKeySequence("Ctrl+P"), self)
        self.shortcut1.activated.connect(self.onButtonClick1)

        self.shortcut2 = QShortcut(QKeySequence("1"), self)
        self.shortcut2.activated.connect(self.onButtonClick2)

    def onButtonClick1(self):
        print("버튼 1이 클릭되었습니다!")

    def onButtonClick2(self):
        print("버튼 2가 클릭되었습니다!")


if __name__ == "__main__":
    app = QApplication(sys.argv)
    mainWindow = MainWindow()
    mainWindow.show()
    sys.exit(app.exec_())





반응형