QT长按键盘循环执行事件如何实现

我是QT新人,有个问题请大神帮忙解决一下。
想要实现的功能:keyPressEvent 检测长按键后,每隔500ms,执行函数press()
但是发现sleep(500)函数不起作用。请问该怎么写?
代码如下:
void MainWindow::keyPressEvent( QKeyEvent* e )
{
if(e->key() == Qt::Key_A && e->isAutoRepeat()
{
keypress();
sleep(500);
}
}

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^