首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt -实现QKeyEvent

Qt -实现QKeyEvent
EN

Stack Overflow用户
提问于 2016-03-29 00:11:14
回答 1查看 110关注 0票数 0

如何在Qt中实现键盘监听?我有以下设置,但不起作用。我有两个类,gameLogic和gameView。gameView有一个gameLogic实例:

代码语言:javascript
复制
gameView::gameView(QWidget *parent)
    : QWidget(parent)
{
    logic = new gameLogic(6);
    logic->setFocusPolicy(Qt::TabFocus); //in one of the articles I read, this was supposed to fix the issue. It doesn't for me.
    this->resize(1200, 700);
    this->setStyleSheet("background-color: white");
    QString str;
    str.setNum(logic->n);
    connect(logic, SIGNAL(playerStepped(int, int)), this, SLOT(movePlayer(int, int)));    
}

在gameLogic中,我按如下方式处理击键:

代码语言:javascript
复制
void gameLogic::keybrdStep( QKeyEvent * keypressed )
{
    if (keypressed->key() == Qt::Key_Q) {
        _message = new QMessageBox;
        _message->setText("Q");
        _message->exec();
    }
}

无论我按下Q键多少次,都没有反应。我做错了什么?我漏掉了哪一部分?我使用的是Linux Mint和最新版本的Qt。

EN

回答 1

Stack Overflow用户

发布于 2016-03-29 00:15:58

void gameLogic::keybrdStep( QKeyEvent * keypressed )

你从哪里得到方法名"keybrdStep“的?你认为应该给谁打电话?

您需要重写以获取按键操作的方法的名称为QWidget::keyPressEvent()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36266200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档