我无法让单键快捷键在Mac上的PyQt中正常工作。例如,如果我将下面的QKeySequence
更改为Qt.Key_Tab
,它可以正常工作,但Qt.Key_Control
不起作用。我做错了吗?
我也试过了Qt.CTRL
和"Ctrl"
,但它们也没有用。
shortcut = QShortcut(QKeySequence(Qt.Key_Control), self, self.show_dialog)
shortcut.setContext(Qt.ApplicationShortcut)
答案 0 :(得分:0)
我无法自行测试,但修改器会映射到Mac上的不同键:请参阅QKeySequence
from PyQt4 import QtGui
class Window(QtGui.QWidget):
def __init__(self):
QtGui.QWidget.__init__(self)
self.resize(200, 200)
def keyPressEvent(self, event):
print 'key: %s -' % hex(event.key()),
print 'modifiers:', hex(int(event.modifiers()))
if __name__ == '__main__':
import sys
app = QtGui.QApplication(sys.argv)
win = Window()
win.show()
sys.exit(app.exec_())
末尾的注释。
您似乎需要使用details section。
使用它可以准确查看正在按下的键:
{{1}}
修改强>
注意:Qt不允许将修改键(任意组合)设置为快捷键。