如何检查 PyQt 中是否同时按下了 CTRL 和 SHIFT?
How to check if CTRL and SHIFT are pressed simultaneously in PyQt?
我找到了很多如何获得像 this one 这样的键修饰符的例子。但是我无法检查它们是否同时按下并按住。
这应该很容易,因为 CTRL+SHIFT 是标准组合键。
来自上面的链接示例:
modifiers = QtGui.QApplication.keyboardModifiers()
if modifiers == QtCore.Qt.ShiftModifier:
print('Shift+Click')
elif modifiers == QtCore.Qt.ControlModifier:
print('Control+Click')
else:
print('Click')
我们看到测试了 CTRL 或 SHIFT。但是我需要检查一下是否同时按下了这两个按钮。
我测试了很多像这样的变体:
if modifiers == (QtCore.Qt.ControlModifier and QtCore.Qt.ShiftModifier):
我找到了一些用 C 语言编写的东西,但我似乎无法翻译它。
我的 Python 生锈了但是试试
if (modifiers & QtCore.Qt.ControlModifier) and (modifiers & QtCore.Qt.ShiftModifier):
这会检查 modifiers
中是否同时设置了 Control 和 Shift 位域。
我找到了很多如何获得像 this one 这样的键修饰符的例子。但是我无法检查它们是否同时按下并按住。
这应该很容易,因为 CTRL+SHIFT 是标准组合键。
来自上面的链接示例:
modifiers = QtGui.QApplication.keyboardModifiers()
if modifiers == QtCore.Qt.ShiftModifier:
print('Shift+Click')
elif modifiers == QtCore.Qt.ControlModifier:
print('Control+Click')
else:
print('Click')
我们看到测试了 CTRL 或 SHIFT。但是我需要检查一下是否同时按下了这两个按钮。
我测试了很多像这样的变体:
if modifiers == (QtCore.Qt.ControlModifier and QtCore.Qt.ShiftModifier):
我找到了一些用 C 语言编写的东西,但我似乎无法翻译它。
我的 Python 生锈了但是试试
if (modifiers & QtCore.Qt.ControlModifier) and (modifiers & QtCore.Qt.ShiftModifier):
这会检查 modifiers
中是否同时设置了 Control 和 Shift 位域。