Files
tenmon/imagescrollarea.cpp
T
2016-07-29 16:52:22 +02:00

41 lines
981 B
C++

#include "imagescrollarea.h"
#include <QMouseEvent>
#include <QScrollBar>
#include <QKeyEvent>
ImageScrollArea::ImageScrollArea(QWidget *parent) : QScrollArea(parent)
{
m_label = new QLabel(this);
setWidget(m_label);
}
void ImageScrollArea::setImage(const QPixmap &img)
{
QPixmap pix = img.scaled(size(), Qt::KeepAspectRatio, Qt::SmoothTransformation);
m_label->setPixmap(pix);
m_label->resize(pix.size());
}
void ImageScrollArea::keyPressEvent(QKeyEvent *event)
{
event->ignore();
}
void ImageScrollArea::keyReleaseEvent(QKeyEvent *event)
{
event->ignore();
}
void ImageScrollArea::mouseMoveEvent(QMouseEvent *event)
{
QPoint delta = m_lastPos - event->pos();
horizontalScrollBar()->setValue(horizontalScrollBar()->value() - delta.x());
verticalScrollBar()->setValue(verticalScrollBar()->value() - delta.y());
m_lastPos = event->pos();
}
void ImageScrollArea::mousePressEvent(QMouseEvent *event)
{
m_lastPos = event->pos();
}