本人在使用Shortcut快捷键时,发现设置快捷键连接控件的按钮,键盘长按快捷键,控件的按钮会连续触发的问题。直接上图描述:
1.在qt设计师中,我想设置圆圈的向右的箭头为快捷键Key_Right。当然在属性栏里可以设置快捷键,但是我所描述的方法,不能在属性栏里设置。
2.上方是我预想的长按达到的效果。(如果在属性栏设置快捷键,长按时你可以看到这个键一直触发)。
问题解决方法:
在构造函数里加入:
QShortcut *c = new QShortcut(Qt::Key_Right, this);
connect(c, &QShortcut::activated, this, &MainWindow::test);
然后在这个槽函数test内容如下
红框的内容,替换掉你的按钮的名字
void MainWindow::test()
{
if (!ui->toolButton_rightX->isDown())
{
ui->toolButton_rightX->animateClick(600);
}
else
ui->toolButton_rightX->animateClick(100);
}
问题解决。