QTest::sendKeyEvent(...Qt::ControlModifier)
导致在Mac上发送命令键(反之亦然,Mac上的所有qkeyeevent都有Command pressed报告Qt::ControlModifier)。我需要做什么才能实现真正的Ctrl键发送?
存在两种解决方案:
- 禁用映射转换:
QCoreApplication::setAttribute(Qt::AA_MacDontSwapCtrlAndMeta)
- 使用
Qt::MetaModifier
(mac上的Control键默认映射为Qt::MetaModifier
)
正如文档中提到的,这种映射通常是macOS用户所期望的,因为快捷键通常使用Command键而不是Control键(在其他平台上使用)。
引用:
- https://doc.qt.io/qt-6/qt.html ApplicationAttribute-enum