gpt4 book ai didi

c++ - 使用 Qt 检查键是否已关闭

转载 作者:可可西里 更新时间:2023-11-01 15:00:22 24 4
gpt4 key购买 nike

我正在玩一些图形,我已经用箭头键实现了简单的相机移动。我的第一种方法是覆盖 keyPressEvent做这样的事情:

switch(key)
{
case up: MoveCameraForward(step); break;
case left: MoveCameraLeft(step); break;
...
}

这并没有像我希望的那样工作。例如,当我按住前进键时,相机向前移动“步”单位,然后停顿一会儿,然后继续移动。我猜这就是事件的生成方式,以避免在按键时间稍长的情况下出现多个事件。

因此,我需要轮询 Paint() 中的键盘常规。我还没有找到如何用 Qt 做到这一点。我想到了 map<Key, bool>将在 keyPressEvent 中更新和 keyReleaseEvent并在 Paint() 中轮询该 map .有更好的主意吗?感谢您提供任何见解。

最佳答案

这并不能解决检测哪些键被按下的一般问题,但如果您只是寻找键盘修饰符(shift、ctrl、alt 等),您可以通过静态 QApplication::keyboardModifiers() 检索它。和 QApplication::queryKeyboardModifiers()方法。

关于c++ - 使用 Qt 检查键是否已关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7394660/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com