qt 常用事件

MyLabel::MyLabel(QWidget *parent) : QLabel(parent)
{
this->setMouseTracking(true); // 设置手表默认追踪
}
void MyLabel::enterEvent(QEvent *event)
{
qDebug()<<"鼠标进入";
}
void MyLabel::leaveEvent(QEvent *event)
{
    qDebug()<<"鼠标离开";
}
void MyLabel::mousePressEvent(QMouseEvent *event)
{
    if(event->button() == Qt::LeftButton){
        qDebug()<<"鼠标摁下";
    }
}
void MyLabel::mouseReleaseEvent(QMouseEvent *event)
{
    qDebug()<<"鼠标释放";
}
void MyLabel::mouseMoveEvent(QMouseEvent *event)
{
    QString str = QString("鼠标按下了!!! x = %1 y = %2").arg(event->x()).arg(event->y());
    // 持续状态需要 buttons 用与操作符
    if(event->buttons() & Qt::LeftButton)
    qDebug()<<"鼠标移动"<<str;
}

posted on 2021-05-19 00:56  lodger47  阅读(62)  评论(0)    收藏  举报

导航