鼠标事件
#include<QMouseEvent>
void Widget::mousePressEvent(QMouseEvent *event)
{
qDebug()<<event->button()<<endl;
if(event->button()==1)
{
qDebug()<<"左键按下"<<endl;
}
else if(event->button()==2)
{
qDebug()<<"右键按下"<<endl;
}
else if(event->button()==4)
{
qDebug()<<"中键按下"<<endl;
}
qDebug()<<"鼠标按下去-"<<"全局位置:"<<event->globalPos()<<endl;
qDebug()<<"鼠标按下去-"<<"局部位置:"<<event->localPos()<<endl;
qDebug()<<"鼠标按下去-"<<"win位置:"<<event->windowPos()<<endl;
}
void Widget::mouseReleaseEvent(QMouseEvent *event)
{
qDebug()<<"鼠标弹上来-"<<"全局位置:"<<event->globalPos()<<endl;
qDebug()<<"鼠标弹上来-"<<"局部位置:"<<event->localPos()<<endl;
qDebug()<<"鼠标弹上来-"<<"win位置:"<<event->windowPos()<<endl;
}
void Widget::mouseMoveEvent(QMouseEvent *event)
{
qDebug()<<"鼠标移动-"<<"全局位置:"<<event->globalPos()<<endl;
qDebug()<<"鼠标移动-"<<"局部位置:"<<event->localPos()<<endl;
qDebug()<<"鼠标移动-"<<"win位置:"<<event->windowPos()<<endl;
}
void Widget::mouseDoubleClickEvent(QMouseEvent *event)
{
qDebug()<<"鼠标双击-"<<"全局位置:"<<event->globalPos()<<endl;
qDebug()<<"鼠标双击-"<<"局部位置:"<<event->localPos()<<endl;
qDebug()<<"鼠标双击-"<<"win位置:"<<event->windowPos()<<endl;
}
画图事件
#include<QPainter>
void Widget::paintEvent(QPaintEvent *)
{
QPainter painter(this);
painter.drawPixmap(0,0,this->width(),this->height(),QPixmap("../mouse_event/02.png"));
QPen pen1;
pen1.setStyle(Qt::DashLine);
pen1.setColor(Qt::red);
pen1.setWidth(3);
painter.setPen(pen1);
painter.drawLine(QPointF(0,0),QPointF(this->width(),this->height()));
QPen pen2;
pen2.setStyle(Qt::SolidLine);
pen2.setColor(Qt::yellow);
pen2.setWidth(5);
painter.setPen(pen2);
painter.drawRect(100,100,800,800);
painter.drawEllipse(QPoint(this->width()/2,this->height()/2),50,300);
QBrush brush1;
brush1.setStyle(Qt::TexturePattern);
brush1.setTexture(QPixmap("../mouse_event/02.png"));
painter.setBrush(brush1);
painter.drawEllipse(QPoint(this->width()/2,this->height()/2),700,300);
QPointF points[4] = {
QPointF(10.0, 80.0),
QPointF(20.0, 10.0),
QPointF(80.0, 30.0),
QPointF(90.0, 70.0)
};
painter.drawPolygon(points,4);
}