关于组合按键的事件处理有关问题
关于组合按键的事件处理问题
想要实现的功能是当按下Ctrl+Home键时,清空TextEdit空间中的内容
代码如下:
结果运行并输入文本后Ctrl+Home实现的是Home键的功能,不解
------解决方案--------------------
http://blog.****.net/zerokkqq/article/details/6686912
想要实现的功能是当按下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