【问题标题】:VkKeyScanEx not working on "F" keys and othersVkKeyScanEx 不适用于“F”键和其他键
【发布时间】:2017-02-13 09:56:24
【问题描述】:

现在我正在从 QKeySequence 对象中获取条目的字符串并将其转换为键码。

问题是它对超过 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);

如何让它在包含超过 1 个字符的键上工作?

【问题讨论】:

    标签: c++ qt c++11 c++14


    【解决方案1】:

    qUtf16Printable 返回:“将 str 作为 const ushort * 返回,但强制转换为 const wchar_t * 以避免警告”

    但是在您的代码中,您没有将返回值分配给指针,而是将返回值分配给字符(const wchar_t)。

    可能会尝试

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

    这可能是问题

    【讨论】:

      猜你喜欢
      • 2021-07-22
      • 2018-08-18
      • 1970-01-01
      • 2011-02-01
      • 2011-06-16
      • 2015-09-15
      • 2019-11-28
      • 2011-11-03
      • 1970-01-01
      相关资源
      最近更新 更多