Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在 Windows 10 上使用 QT。
我正在使用一个 QDialog ,我想用返回键按下 QPushButtons 。但是,我希望用户必须按下返回键并再次释放它。长按返回键应该只工作一次,而不是几次。
我检查了keyPressEvent和keyReleaseEvent,但不幸的是,当我用返回键长按时,我不断得到keyReleaseEvent和keyPressEvent。
有什么想法,我如何检测返回键是否被长按或如何禁用长按功能?
您可以在 keyPressEvent 中启动计时器,并在 keyReleaseEvent 中读取 elapsed
QElapsedTimer mTimer; keyPressEvent () { ..... mTimer.start(); ..... } keyReleaseEvent () { ..... int mMilliseconds = mTimer.elapsed(); ..... }
你可以设置标签长按