在Qt C ++中通过类管理键盘事件

时间:2014-11-25 19:12:48

标签: c++ qt events object qt4

我正在尝试检索密钥,然后将其传递给窗口类... 我坚持下去...... 这是我的代码:

#include "mainwindow.h"
#include "game.h"
#include <QApplication>
#include <QKeyEvent>
#include <QString>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    Game g(4);
    MainWindow w;

    w.doSomething();

    while(QString text = keyPressEvent(QKeyEvent *e)->text()){ // this is not working
        g.action(text);
        w.update(g.getState());
    }

    w.show();

    return a.exec();
}

我应该将Wlass类中的Game类作为私有成员包装吗? 我试过......没有成功。

感谢。

1 个答案:

答案 0 :(得分:0)

keyPressEvent是一个QWidget成员函数,所以如果你需要监听关键事件,你应该在你的子类中覆盖它。 看起来,根据您提供的代码,它应该是MainWindow。