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

关于组合按键的事件处理问题
想要实现的功能是当按下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_OBJECT

public:
    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.****.net/zerokkqq/article/details/6686912