当前位置: 代码迷 >> QT开发 >> 关于组合按键的事件处理有关问题
  详细解决方案

关于组合按键的事件处理有关问题

热度:131   发布时间:2016-04-25 04:59:25.0
关于组合按键的事件处理问题
想要实现的功能是当按下Ctrl+Home键时,清空TextEdit空间中的内容
代码如下:
C/C++ code
//qdragtest.cpp#include "qdragtest.h"#include<QKeyEvent>QDragTest::QDragTest(QWidget *parent, Qt::WFlags flags)    : QMainWindow(parent, flags){    ui.setupUi(this);}QDragTest::~QDragTest(){}void QDragTest::keyPressDown(QKeyEvent *event){    switch(event->key()){    case Qt::Key_Home:        if(event->modifiers()&Qt::ControlModifier)        {            ui.CodeEditor->clear();        }        break;    default:        QWidget::keyPressEvent(event);    }}


C/C++ code
//qdragtest.h#ifndef QDRAGTEST_H#define QDRAGTEST_H#include <QtGui/QMainWindow>#include "ui_qdragtest.h"class QDragTest : public QMainWindow{    Q_OBJECTpublic:    QDragTest(QWidget *parent = 0, Qt::WFlags flags = 0);    ~QDragTest();    void keyPressDown(QKeyEvent *event);private:    Ui::QDragTestClass ui;};#endif // QDRAGTEST_H

C/C++ code
//main.cpp#include "qdragtest.h"#include <QtGui/QApplication>int main(int argc, char *argv[]){    QApplication a(argc, argv);    QDragTest w;    w.show();    return a.exec();}

结果运行并输入文本后Ctrl+Home实现的是Home键的功能,不解

------解决方案--------------------
http://blog.csdn.net/zerokkqq/article/details/6686912
  相关解决方案