2014-09-23 21 views
6

Basitçe söyleyin - PyQt5'te klavye kısayollarını nasıl çalıştırırım (bir işlev çalıştırmak için)? Gördüğüm kadarıyla, QAction'u bir şekilde ya da başka bir şekilde düşünürüm, ama iki ve ikiyi bir araya getiremiyorum ve tüm örnekler PyQt5 ile çalışmıyor gibi görünüyor. Böyle sayesindePyQt5: Klavye kısayolları w/QAction

cevap

8

Kullanım QShortcut ve QKeySequence sınıfları:

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

başka mükemmel cevap - teşekkür ederim! –