gpt4 book ai didi

按住特定键(shift 键)时,Qt keyPressEvent 未正确调用

转载 作者:行者123 更新时间:2023-12-02 04:35:24 29 4
gpt4 key购买 nike

通常当按键被按住时,keyPressEvent 函数被调用与 QApplication::keyboardInputInterval() 设置的一样频繁。但是,它不适用于 shift、ctrl 或 alt 等键。

这是正确执行的:

void Renderer::keyPressEvent(QKeyEvent *event)
{
if(event->key() == Qt::Key_Escape) qDebug() << "executing";
}

这只在按下按钮时执行一次:

void Renderer::keyPressEvent(QKeyEvent *event)
{
if(event->key() == Qt::Key_Shift) qDebug() << "executing";
}

唯一的区别是 Qt::Key_ShiftQt::Key_Escape。有人知道如何解决这个问题吗?

最佳答案

您可以按如下方式进行。

if(QApplication::keyboardModifiers() & Qt::ShiftModifier)
{
//Things need to do while holding SHIFT key.
}

else
{
//Things need to do while not holding SHIFT key.
}

关于按住特定键(shift 键)时,Qt keyPressEvent 未正确调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22091598/

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