QKeyEvent.nativeModifiers() 是什么?
What are QKeyEvent.nativeModifiers()?
什么是 QKeyEvent.nativeModifiers()?文档没有说太多(https://doc.qt.io/qtforpython/PySide6/QtGui/QKeyEvent.html#PySide6.QtGui.PySide6.QtGui.QKeyEvent.nativeModifiers)。据我了解,通过在 QKeyEvent 对象上调用此方法返回的整数表示修饰键(Ctrl、Shift、Alt 等)的完整状态。
此外,我假设这些整数和它们各自的修饰符状态之间的映射是系统的,那么有没有办法测试给定的修饰符状态是否包含特定的修饰符(例如通过使用“&”运算符) ?
重要的是,本机修改器是否跨平台,以便 PC 上的 Left Ctrl 按键 returns 与 Mac 上的 Left Command 相同的整数(因为 Qt.Key_Control 对应到 MacOS 命令键)?
顾名思义,原生修饰符在 mac 和 PC 上具有不同的值。在 windows 上,值是 WindowsNativeModifiers, on macOS it is a combination of NSEventModifierFlags, both translated to Qt::KeyboardModifiers
(windows macOS) 的组合,这在两个平台上都是相同的。
什么是 QKeyEvent.nativeModifiers()?文档没有说太多(https://doc.qt.io/qtforpython/PySide6/QtGui/QKeyEvent.html#PySide6.QtGui.PySide6.QtGui.QKeyEvent.nativeModifiers)。据我了解,通过在 QKeyEvent 对象上调用此方法返回的整数表示修饰键(Ctrl、Shift、Alt 等)的完整状态。
此外,我假设这些整数和它们各自的修饰符状态之间的映射是系统的,那么有没有办法测试给定的修饰符状态是否包含特定的修饰符(例如通过使用“&”运算符) ?
重要的是,本机修改器是否跨平台,以便 PC 上的 Left Ctrl 按键 returns 与 Mac 上的 Left Command 相同的整数(因为 Qt.Key_Control 对应到 MacOS 命令键)?
顾名思义,原生修饰符在 mac 和 PC 上具有不同的值。在 windows 上,值是 WindowsNativeModifiers, on macOS it is a combination of NSEventModifierFlags, both translated to Qt::KeyboardModifiers
(windows macOS) 的组合,这在两个平台上都是相同的。