#include "mainwindow.h"this
#include <QDebug>
#include <QKeyEvent>
#include <QMouseEvent>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent)
{
this->setupUi(this);
QWidget::installEventFilter(this);
}
MainWindow::~MainWindow()
{
}
//經過過濾器組合Control + Enter 按鍵
bool MainWindow::eventFilter(QObject *watched, QEvent *event)
{
if(event->type()==event->KeyPress)
{
QKeyEvent *keyEvent = (QKeyEvent *)event;
if(keyEvent->key() == Qt::Key_Return && (keyEvent->modifiers() & Qt::ControlModifier))
{
qDebug()<<"EnterKey + ControlKey";
return true;
}
}
return false;
}
//按鍵與鼠標的結合 鍵盤按住Ctrl鍵 + 鼠標左鍵的實現
void MainWindow::mousePressEvent(QMouseEvent *event)
{
// 獲取鼠標在點擊窗體上的座標
QPoint pos = event->pos();
qDebug()<<pos;
if(QApplication::keyboardModifiers() == Qt::ShiftModifier)
{
if(event->button() == Qt::LeftButton)
{
qDebug()<<"ShiftKey + MOuseLeftButton";
return;
}
}
if(QApplication::keyboardModifiers() == Qt::ControlModifier)
{
if(event->button() == Qt::RightButton)
{
qDebug()<<"ShiftKey + MOuseRightButton";
return;
}
}
}
//三鍵組合Shift + Ctrl + A的實現
void MainWindow::keyPressEvent(QKeyEvent *event)
{
if (event->modifiers() == (Qt::ShiftModifier | Qt::ControlModifier) && event->key() == Qt::Key_A)
{
qDebug()<<"ShiftKey + controlKey + A";
return;
}
// if (event->modifiers() == (Qt::ShiftModifier | Qt::ControlModifier))
// {
// qDebug()<<"ShiftKey + controlKey";
// return;
// }
}