QKeyEvent.nativeModifiers() 是啥?
Posted
技术标签:
【中文标题】QKeyEvent.nativeModifiers() 是啥?【英文标题】:What are QKeyEvent.nativeModifiers()?QKeyEvent.nativeModifiers() 是什么? 【发布时间】:2021-04-30 17:53:07 【问题描述】:什么是 QKeyEvent.nativeModifiers()?文档没有说太多(https://doc.qt.io/qtforpython/PySide6/QtGui/QKeyEvent.html#PySide6.QtGui.PySide6.QtGui.QKeyEvent.nativeModifiers)。据我了解,在 QKeyEvent 对象上调用此方法返回的整数表示修饰键(Ctrl、Shift、Alt 等)的完整状态。
此外,我会假设这些整数和它们各自的修饰符状态之间的映射是系统的,那么有没有办法测试给定的修饰符状态是否包含特定的修饰符(例如,通过使用“&”运算符)?
重要的是,本机修饰符是否跨平台,以便 PC 上的 Left Ctrl 键返回与 Mac 上的 Left Command 相同的整数(因为 Qt.Key_Control 对应于 MacOS 命令键)?
【问题讨论】:
【参考方案1】:顾名思义,原生修饰符在 mac 和 pc 上具有不同的值。在 windows 上的值是 WindowsNativeModifiers 的组合,在 macOS 上是 NSEventModifierFlags 的组合,两者都转换为 Qt::KeyboardModifiers
(windows macOS),这在两个平台上都是相同的。
【讨论】:
以上是关于QKeyEvent.nativeModifiers() 是啥?的主要内容,如果未能解决你的问题,请参考以下文章