我正试图用键盘上的箭头键向左或向右移动一根棍子。下面的这段代码可以一步一步地完成,我的意思是,无论我是按住键盘上的左箭头还是我只是点击它,棒只移动5个单位。我想做的就是只要握住钥匙就移动它。
bool handled = false;
if ( e->type() == QEvent::KeyPress )
{
QKeyEvent *keyEvent = (QKeyEvent *)e;
if ( keyEvent->key() == Qt::Key_Left )
{
left= (= == 0 ? -5 : 0);
handled = true;
}
else if ( keyEvent->key() == Qt::Key_Right )
{
right= (right== 0 ? 5 : 0);
handled = true;
}
}
我在QKeyEvent类中找不到一个方法,它可以为我想做的事情工作。我该如何解决这个问题?
答案 0 :(得分:1)
为什么不使用QAction? 例如,按下左键按下:
$("#my-form").on("submit", function (ev) {
ev.preventDefault();
// Do AJAX stuff here
});
还有一个插槽
QAction *action = new QAction("test", this);
action->setShortcut(QKeySequence("Left"));
this->addAction(action);
this->connect(action, SIGNAL(triggered()), this, SLOT(left_button_slot()));