//鼠标移动范围
void ViewWidget::mouseMoveArea(QMouseEvent *event)
{
QPoint Maxpoint,cur;
QPoint curpoint;
cur.setX(this->width());
cur.setY(this->height());
Maxpoint=mapToGlobal(cur);
if(event->pos().x()>this->width()
|| event->pos().y() > this->height()
|| event->pos().x() < 0
|| event ->pos().y() < 0)
{
if(event->pos().x() > this->width())
{
if(event->pos().y() < 0)
{
curpoint.setX(this->width());
curpoint.setY(0);
QCursor::setPos(mapToGlobal(curpoint)) ;
}
else
{
if(event->pos().y() > this->height())
{
curpoint.setX(this->width());
curpoint.setY(this->height());
QCursor::setPos(mapToGlobal(curpoint)) ;
}
else
{
curpoint.setX(this->width());
curpoint.setY(event->pos().y());
QCursor::setPos(mapToGlobal(curpoint)) ;
}
}
}
if(event->pos().x() < 0)
{
if(event->pos().y() < 0)
{
curpoint.setX(0);
curpoint.setY(0);
QCursor::setPos(mapToGlobal(curpoint)) ;
}
else
{
if(event->pos().y() > this->height())
{
curpoint.setX(0);
curpoint.setY(this->height());
QCursor::setPos(mapToGlobal(curpoint)) ;
}
else
{
curpoint.setX(0);
curpoint.setY(event->pos().y());
QCursor::setPos(mapToGlobal(curpoint)) ;
}
}
}
if(event->pos().y() > this->height())
{
if(event->pos().x() < 0)
{
curpoint.setX(0);
curpoint.setY(this->height());
QCursor::setPos(mapToGlobal(curpoint)) ;
}
else
{
if(event->pos().x() > this->width())
{
curpoint.setX(this->width());
curpoint.setY(this->height());
QCursor::setPos(mapToGlobal(curpoint)) ;
}
else
{
curpoint.setX(event->pos().x());
curpoint.setY(this->height());
QCursor::setPos(mapToGlobal(curpoint)) ;
}
}
}
if(event->pos().y() < 0)
{
if(event->pos().x() < 0)
{
curpoint.setX(0);
curpoint.setY(0);
QCursor::setPos(mapToGlobal(curpoint)) ;
}
else
{
if(event->pos().x() > this->width())
{
curpoint.setX(this->width());
curpoint.setY(0);
QCursor::setPos(mapToGlobal(curpoint)) ;
}
else
{
curpoint.setX(event->pos().x());
curpoint.setY(0);
QCursor::setPos(mapToGlobal(curpoint)) ;
}
}
}
else
{
QWidget::mouseMoveEvent(event);
}
}
}