45 lines
935 B
C++
45 lines
935 B
C++
#include "xymovablewidget.h"
|
|
#include <QMouseEvent>
|
|
|
|
XYMovableWidget::XYMovableWidget(QWidget *parent)
|
|
: QWidget(parent)
|
|
{
|
|
mbLeftMousePressed = false;
|
|
}
|
|
|
|
XYMovableWidget::~XYMovableWidget()
|
|
{
|
|
|
|
}
|
|
|
|
void XYMovableWidget::mousePressEvent(QMouseEvent *event)
|
|
{
|
|
if (event->button() == Qt::LeftButton)
|
|
{
|
|
mbLeftMousePressed = true;
|
|
moLastPos = event->globalPos();
|
|
}
|
|
}
|
|
|
|
void XYMovableWidget::mouseReleaseEvent(QMouseEvent *event)
|
|
{
|
|
if (event->button() == Qt::LeftButton)
|
|
{
|
|
mbLeftMousePressed = false;
|
|
moLastPos = event->globalPos();
|
|
}
|
|
}
|
|
|
|
void XYMovableWidget::mouseMoveEvent(QMouseEvent *event)
|
|
{
|
|
if (mbLeftMousePressed)
|
|
{
|
|
QPoint lastpos = pos();
|
|
lastpos.setX( lastpos.x() + event->globalX() - moLastPos.x());
|
|
lastpos.setY( lastpos.y() + event->globalY() - moLastPos.y());
|
|
move(lastpos);
|
|
moLastPos = event->globalPos();
|
|
}
|
|
}
|
|
|