2016-10-05 78 views
0

现在,我从QKeySequence对象中抓取一个条目的字符串并将其转换为键码。VkKeyScanEx无法在“F”键和其他键上工作

问题是它不能工作超过1个字符的任何东西(f1-12/delete/end/etc。)。

QString keys = uiPtr->keySequenceEdit1->keySequence().toString(); 
    const wchar_t keyPtr = *qUtf16Printable(keys); 
    short keyVal = VkKeyScanEx(keyPtr, GetKeyboardLayout(0)); 
    VK = LOBYTE(keyVal); 

我该如何得到它在其中有多于一个字符的键上工作?

回答

0

qUtf16Printable回报:“返回str作为一个const USHORT *,但转换为常量为wchar_t *避免警告”

但在你的代码中没有指定的返回值的指针,返回值是分配给一个字符(const wchar_t)。

可能尝试

const wchar_t* keyPtr = ......... 

这可能是问题

相关问题