keyPressEvent没有反应

 少年放肆的温存 发布于 2023-01-20 10:30

我正在写QT.OpenGL已连接,工作正常,但事件和keyPressEvent mousePressEvent不响应击键.

class MainWindow : public QGLWidget
{
    Q_OBJECT
    protected:
        void initializeGL(); // ????? ??? ????????????????? opengl
        void resizeGL(int nWidth, int nHeight); // ????? ?????????? ????? ??????? ????????? ??????? ????
        void paintGL(); // ????? ??? ?????? ??????????? ?? ?????
        void paintSun();
        void mousePressEvent(QMouseEvent *mouse);
        void keyPressEvent(QKeyEvent *ke);
public:
    MainWindow(int x, int y,QWidget *parent = 0);
    ~MainWindow();
};

void MainWindow::keyPressEvent(QKeyEvent *ke)
{
    switch (ke->key())
    {
          case Qt::Key_Space://NO REACTION
                View += 1;
                glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
                paintPlanet();
                break;
    }
    updateGL();
}

小智.. 6

确保MainWindow接受Focus设置

QWidget的:: setFocusPolicy()

您还应该调用QWidget :: keyPressEvent的基本实现,如此处所述.是否有另一个Widget具有焦点并且没有通过KeyEvent?

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有