2014-09-23 5 views
6

간단히 말해서 - PyQt5에서 어떻게 키보드 단축키를 (함수를 실행하기 위해) 할 수 있습니까? 나는 어떤 식 으로든 QAction을 가정하고 있지만 2와 2를 함께 넣을 수는 없으며 모든 예제가 PyQt5에서 작동하지 않는 것으로 보입니다. 이 같은 감사PyQt5 : QAction이있는 키보드 단축키

답변

8

사용 QShortcutQKeySequence 클래스 :

import sys 
from PyQt5.QtCore import * 
from PyQt5.QtGui import * 
from PyQt5.QtWidgets import * 

class Window(QWidget): 
    def __init__(self, *args, **kwargs): 
     QWidget.__init__(self, *args, **kwargs) 

     self.label = QLabel("Try Ctrl+O", self) 
     self.shortcut = QShortcut(QKeySequence("Ctrl+O"), self) 
     self.shortcut.activated.connect(self.on_open) 

     self.layout = QHBoxLayout() 
     self.layout.addWidget(self.label) 

     self.setLayout(self.layout) 
     self.resize(150, 100) 
     self.show() 

    @pyqtSlot() 
    def on_open(self): 
     print("Opening!") 

app = QApplication(sys.argv) 
win = Window() 
sys.exit(app.exec_()) 
+0

또 다른 훌륭한 대답은 - 감사합니다! –