zoukankan      html  css  js  c++  java
  • Qt keyPressEvent

    keyPressEvent是QWidget里面的函数,所以凡是继承自QWidget的类都可以通过实现这个函数来完成对按键事件的响应。

    要让当前的widget能够响应按键事件,最先需要做的事情是,调用:

    setFocusPolicy(Qt::StrongFocus);

    接下来就是keyPressEvent方法的声明与实现了~

    // 声明
    void keyPressEvent(QKeyEvent *event);
    // 实现
    void DisplayGLWidget::keyPressEvent(QKeyEvent* event)
    {    
        switch (event->key())
        {
        case Qt::Key_Up:
            mix = (mix + 0.1) > 1 ? 1 : mix + 0.1;
            std::cout << "mix = " << mix << endl;
            updateGL();
            break;
        case Qt::Key_Down:
            mix = (mix - 0.1) < 0 ? 0 : mix - 0.1;
            std::cout << "mix = " << mix << endl;
            updateGL();
            break;
        default:
            break;
        }
    }

    需要注意的是,响应按键事件后,需要updateGL,否则当前窗口不会自动重新绘制。

  • 相关阅读:
    iOS 多线程/GCD
    iOS推送通知的实现步骤
    Swift中文教程-学习
    设计模式——观察者模式
    SSM学习
    Servlet 学习
    java基础
    DOM中节点
    会议管理系统设计
    springboot与thymeleaf 整合
  • 原文地址:https://www.cnblogs.com/zhsuiy/p/5235616.html
Copyright © 2011-2022 走看看