抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

PyQt里面keyPressEvent的相关问题

在macOS系统里controlModifier对应的是command,MetaModifier对应的是ctrl

1
2
3
4
5
6
class MyLabel(QLabel):
def keyPressEvent(self, evt):
print("点击了键盘") # 用以测试这种方法是否被正常调用
# 组合键
if evt.modifiers() == Qt.ControlModifier & evt.key() == Qt.Key_W:
print("点击了command+W 退出窗口")

在这里插入图片描述

三个组合键,使用或运算

1
2
3
4
5
if evt.modifiers() == Qt.MetaModifier | Qt.ShiftModifier and evt.key() == Qt.Key_R : 
print("ctrl+Shfit+R 运行")
# 两个修饰键
if evt.modifiers() == Qt.MetaModifier | Qt.ShiftModifier:
print("两个修饰键一起运行")

键的名称

command对应Ctrl

Ctrl对应Meta

设置快捷键的时候有用

1
btn.setShortcut("Meta+a")

评论