【发布时间】:2018-11-21 09:58:21
【问题描述】:
我正在尝试使用箭头键移动对象,但是当我启动应用程序时,什么也没有发生。你知道如何解决它吗?
@Update :我的矩形只向左和向右移动一次,但如果我使用 qDebug,它会识别我单击左或右的所有时间,有什么想法吗?
void MouvementJoueur::keyPressEvent(QKeyEvent *e)
{
switch ( e->key() )
{
case Qt::Key_Left:
rectangle->setPos(x()-10,y());
qDebug() << "You pressed the Key left";
break;
case Qt::Key_Right:
rectangle->setPos(x()+10,y());
qDebug() << "You pressed the Key right";
break;
}
}
提前谢谢你!
【问题讨论】:
-
“什么都没有发生”是相当模糊的错误描述。如果确实如此,实际上似乎什么也没发生,问题很可能出在主函数中,例如从不调用事件循环。
-
如果可能,您应该尝试提供 MCVE。此外,如果您希望其他人阅读您的代码,强烈建议您正确缩进。这只是对那些你想帮助你的人的基本礼貌。所有常用的 Qt IDE(Qt Creator、Visual Studio、KDevelop...)都具有自动缩进或代码格式化功能,因此没有理由在此处将格式不佳的代码发布到 Stack Overflow。
-
@hyde 我编辑了它,但我仍然必须在 stackoverflow 和 idk 中插入空格,我的意思是,如果我单击右箭头或左箭头,我的矩形不会移动。你有什么建议?
-
要在 SO 中正确格式化代码,只需将其粘贴到问题编辑文本框中,并使用您原来的正确缩进,并在下方和上方使用空行。然后选中整个代码sn-p,点击代码格式化图标
{},或者键盘快捷键ctrl-K。
标签: c++ qt qgraphicsview qgraphicsscene