如何将QKeyEvent::nativeModifiers()转换为UINT fsModifiers
How to convert QKeyEvent::nativeModifiers() to UINT fsModifiers (for winapi RegisterHotKey)
我有:
QKeyEvent* event; // I pressed "SHIFT"
modifiers = event->nativeModifiers(); // This is 513 value
RegisterHotKey(..., ..., modifiers, ...); // FAILED because 513 is bad modifier.
//Right code of "SHIFT" is MOD_SHIFT = 0x0004
如何从QKeyEvent
中为winapi RegisterHotKey
函数获取正确的本机Windows修饰符?
详细信息:
问题5.4;QKeyEvent;寄存器热键
您可以执行类似于Qxt库转换修饰符的操作:
modifiers = event->nativeModifiers();
quint32 native = 0;
if (modifiers & Qt::ShiftModifier)
native |= MOD_SHIFT;
if (modifiers & Qt::ControlModifier)
native |= MOD_CONTROL;
if (modifiers & Qt::AltModifier)
native |= MOD_ALT;
if (modifiers & Qt::MetaModifier)
native |= MOD_WIN;
RegisterHotKey(..., ..., native, ...);
相关文章:
- 防止主数据类型C++的隐式转换
- 模板参数替换失败,并且未完成隐式转换
- 努力将整数转换为链表。不知道我在这里做错了什么
- HEX值到wchar_t字符(UTF-8)的转换
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 将 Qvector<uint8_t> 转换为 QString
- 如何在cuSparse中使用cusparseXcoo2csr从coo转换为csc
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- 在c++中使用nlohmann从类到json的转换
- 从"int*"强制转换为"unsigned int"会丢失精度错误
- GLSL 将 uint 转换为浮点颜色
- 如何将boost::asio::ip::address_v6 ip转换为2个uint64_t数字,并从2个uint 64
- 将 CRC uint 转换为 QByteArray QT - C++
- 将UINT转换为WS_STRING
- 如何将QKeyEvent::nativeModifiers()转换为UINT fsModifiers
- 将双倍转换为 uint 并重新游览
- C4267:"返回":从"size_t"转换为"const UINT",可能会丢失数据
- 无法将 List 中的类型 'uint' 隐式转换为'T'(从类模板)
- 使用librapidjson将混合JSON数字数组转换为int、uint、float
- 将包含 uint 和 floats 的 4 字节数据转换为 float