我有:
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为RegisterHotKey函数获取正确的本机Windows修饰符?
详细信息:
Qt 5.4;QKeyEvent;RegisterHotKey
发布于 2015-03-29 17:31:50
您可以类似于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, ...);https://stackoverflow.com/questions/29332143
复制相似问题