#include "imagescrollarea.h" #include #include #include 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(); }