Mapview 继承Qgraphicsview Itemscene继承QGgraphicsscene
void Mapview::mousePressEvent(QMouseEvent *event)
{
if(event->button()&Qt::LeftButton)
{
qDebug()<<event->type();
presstag=true;
posx =event->pos().x();
posy =event->pos().y();
originalx =this->x();
originaly =this->y();
}
}
void Mapview::mouseMoveEvent(QMouseEvent *event)
{
if(presstag)
{
QPointF pointmov =event->pos();
QScrollBar *hbar =horizontalScrollBar();
QScrollBar *vbar =verticalScrollBar();
double offsetx= pointmov.x()-posx;
double offsety =pointmov.y()-posy;
if(offsetx>3||offsetx<-3||offsety>3||offsety<-3)
{
hbar->setValue(hbar->value()-offsetx);
vbar->setValue(vbar->value()-offsety);
posx =event->pos().x();
posy =event->pos().y();
emit updateview();
}
}
else
{
event->ignore();
}
}
void Itemscene::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
{
QMessageBox msg;
msg.setText (tr("mouseMoveEvent"));
msg.exec();
QGraphicsScene::mouseMoveEvent(event);
}
其中有使用QGgraphcisview::scene将Itemscene对象加载到Mapview对象中来。
Mapview可以相应鼠标操作,Itemscene鼠标操作就被覆盖了,有什么办法可以
区分开来。
求大神,tks!