Qt中的鼠标与键盘事件
1.鼠标事件
1.1 左键
重写虚函数void mousePressEvent(QMouseEvent *event);
void MainWindow::mousePressEvent(QMouseEvent *event)
{
if(event->button()==Qt::LeftButton)
{
qDebug()<<"单击左键";
}
else
{
qDebug()<<"单击右键";
}
}
1.2 双击事件
重写虚函数void mouseDoubleClickEvent(QMouseEvent *event);
void MainWindow::mouseDoubleClickEvent(QMouseEvent *event)
{
if(event->button()==Qt::LeftButton)
{
qDebug()<<"双击左键";
}
else
{
qDebug()<<"双击右键";
}
}
1.3 鼠标移动事件
重写虚函数void mouseMoveEvent(QMouseEvent *event);
void MainWindow::mouseMoveEvent(QMouseEvent *event)
{
if(event->buttons()& Qt::LeftButton)
{
qDebug()<<"左键移动";
}
else
{
qDebug()<<"右键移动";
}
}
1.4 滚轮事件
重写虚函数void wheelEvent(QWheelEvent* wheel);
void MainWindow::wheelEvent(QWheelEvent *wheel)
{
if(wheel->delta()>0)
{
qDebug()<<"滚轮上滚";
}
else
{
qDebug()<<"滚轮下滚";
}
}
2.键盘事件
重写虚函数
2.1 上下左右键
void MainWindow::keyPressEvent(QKeyEvent *event)
{
switch(event->key())
{
case Qt::Key_Up:
{
qDebug()<<"上建";
break;
}
case Qt::Key_Left:
{
qDebug()<<"左键";
}
}
}
2.2 pgUp pgDown键
void MainWindow::keyPressEvent(QKeyEvent *event)
{
switch(event->key())
{
case Qt::Key_PageUp:
{
qDebug()<<"PageUp键";
break;
}
case Qt::Key_PageDown:
{
qDebug()<<"PageDown键";
break;
}
}
}
2.3 其余键
void MainWindow::keyPressEvent(QKeyEvent *event)
{
switch(event->key())
{
case Qt::Key_F1:
{
qDebug()<<"F1键";
break;
}
case Qt::Key_A:
{
qDebug()<<"A键";
break;
}
case Qt::Key_5:
{
qDebug()<<"5键";
break;
}
}
}