【问题标题】:QT Detecting if the return keyis pressed and released or if it is long pressedQT检测是否按下并释放返回键或是否长按
【发布时间】:2020-05-24 10:09:18
【问题描述】:

我在 Windows 10 上使用 QT。

我正在使用 QDialog,我想用返回键按下 QPushButtons。 但是,我希望用户必须按下返回键并再次释放它。 长按返回键应该只能工作一次,而不是多次。

我检查了 keyPressEvent 和 keyReleaseEvent,但不幸的是,当我长按返回键时,我不断收到 keyReleaseEvent 和 keyPressEvent。

任何想法,我如何检测返回键是否被长按或如何禁用长按功能?

【问题讨论】:

    标签: qt qkeyevent


    【解决方案1】:

    您可以在 keyPressEvent 中启动计时器,并在 keyReleaseEvent 中读取 elapsed

    QElapsedTimer mTimer;
    keyPressEvent ()
    {
      .....
      mTimer.start();
      .....
    }
    keyReleaseEvent ()
    {
      .....
      int mMilliseconds = mTimer.elapsed();
      .....
    }
    

    你可以设置标签长按

    【讨论】:

    • 不完全是我想要的,但解决方法有效,我可以忍受。非常感谢
    猜你喜欢
    • 2016-12-29
    • 2023-03-03
    • 2018-06-26
    • 2022-10-14
    • 2012-06-26
    • 2018-01-25
    • 2011-10-12
    • 1970-01-01
    • 2011-06-22
    相关资源
    最近更新 更多