2014-06-23 127 views
2

我試圖在Pyside/PyQt4中設置沒有修飾符的兩鍵快捷鍵。兩個關鍵快捷鍵

我試過QEvents和QKeySequences的各種組合,但無濟於事。

我想什麼做的是這樣的:

高清keyPressEvent(個體經營,事件): 如果(event.key()== QtCore.Qt.Key_O)和(event.key() == QtCore.Qt.Key_P): 打印( '快捷運算接受')

fileMenu.addAction(QtGui.QAction("Open Project", self, shortcut=QtGui.QKeySequence("P" and "O"),triggered=self.openProject)) 

其中用戶按壓,O,然後P和隨後的動作發生。

有沒有人知道,如果這是可能的,如果是的話,如何做到這一點?

+0

的'和'操作字符串不能正確的事這裏是因爲' 「P」 和 「O」'只是' 「O」'。 – Trilarion

回答

1

對於我"O, P"作爲QKeySequence的參數來完成這項工作。

例子:

from PySide import QtGui 

def beep(): 
    print('beep') 

app = QtGui.QApplication([]) 

toolbar = QtGui.QToolBar() 
toolbar.show() 

action = QtGui.QAction("Action", toolbar, shortcut=QtGui.QKeySequence("O, P"), triggered=beep) 
toolbar.addAction(action) 

app.exec_() 
+0

使用「O,P」作爲QKeySequence的參數工作得很好,看起來我可以在一行中完成: fileMenu.addAction(QtGui.QAction(「Open Project」,self,shortcut = QtGui.QKeySequence 「O,P」),觸發= self.openProject)) 這也顯示命令旁邊的文件菜單中的鍵序列。 –

+0

@ user3767797如果答案解決了問題,我想請您注意「將答案設置爲已接受的答案」複選標記。請考慮檢查一下,如果我的答案確實解決了您的問題,您的滿意。 – Trilarion