qt - QT检测是否按下并释放返回键或是否长按
问题描述
我在 Windows 10 上使用 QT。
我正在使用一个 QDialog ,我想用返回键按下 QPushButtons 。但是,我希望用户必须按下返回键并再次释放它。长按返回键应该只工作一次,而不是几次。
我检查了keyPressEvent和keyReleaseEvent,但不幸的是,当我用返回键长按时,我不断得到keyReleaseEvent和keyPressEvent。
有什么想法,我如何检测返回键是否被长按或如何禁用长按功能?
解决方案
您可以在 keyPressEvent 中启动计时器,并在 keyReleaseEvent 中读取 elapsed
QElapsedTimer mTimer;
keyPressEvent ()
{
.....
mTimer.start();
.....
}
keyReleaseEvent ()
{
.....
int mMilliseconds = mTimer.elapsed();
.....
}
你可以设置标签长按
推荐阅读
- api - WSO2 API 管理器:设置 https 端点
- python - 从 2 个集合或列表中创建所有可能的组合作为 dict
- r - R中的回归线、预测和置信区间
- c# - 从 Entity Framework Core 的导航属性中选择对象列表
- azure - Liferay 7.4 OpenID Connect 作为 Azure B2C 的 SP
- mysql - Mirth & Mysql [javax.net.ssl.SSLHandshakeException:没有合适的协议(协议被禁用或密码套件不合适)]
- oracle - 左连接的oracle视图上的ROWID错误
- python - 我的 Scrapy 代码已执行,但没有任何反应
- python - Python/Openpyxl 重复数据
- stripe-payments - 用剧作家填充条纹元素卡