From c135848192a840ada1b408227060ec852602fa6a Mon Sep 17 00:00:00 2001 From: birkeh Date: Sun, 10 Mar 2019 23:50:58 +0100 Subject: [PATCH] added preview --- cimageviewer.cpp | 21 ++++++++++++++++ cimageviewer.h | 27 +++++++++++++++++++++ cimageviewer.ui | 62 ++++++++++++++++++++++++++++++++++++++++++++++++ clabel.cpp | 25 +++++++++++++++++++ clabel.h | 24 +++++++++++++++++++ 5 files changed, 159 insertions(+) create mode 100644 cimageviewer.cpp create mode 100644 cimageviewer.h create mode 100644 cimageviewer.ui create mode 100644 clabel.cpp create mode 100644 clabel.h diff --git a/cimageviewer.cpp b/cimageviewer.cpp new file mode 100644 index 0000000..6d25f47 --- /dev/null +++ b/cimageviewer.cpp @@ -0,0 +1,21 @@ +#include "cimageviewer.h" +#include "ui_cimageviewer.h" + + +cImageViewer::cImageViewer(QWidget *parent) : + QDialog(parent), + ui(new Ui::cImageViewer) +{ + ui->setupUi(this); + ui->m_lpImage->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored); +} + +cImageViewer::~cImageViewer() +{ + delete ui; +} + +void cImageViewer::setImage(cImage* lpImage) +{ + ui->m_lpImage->setImage(lpImage); +} diff --git a/cimageviewer.h b/cimageviewer.h new file mode 100644 index 0000000..f92061a --- /dev/null +++ b/cimageviewer.h @@ -0,0 +1,27 @@ +#ifndef CIMAGEVIEWER_H +#define CIMAGEVIEWER_H + + +#include "cimage.h" + +#include + + +namespace Ui { +class cImageViewer; +} + +class cImageViewer : public QDialog +{ + Q_OBJECT + +public: + explicit cImageViewer(QWidget *parent = nullptr); + ~cImageViewer(); + + void setImage(cImage* lpImage); +private: + Ui::cImageViewer* ui; +}; + +#endif // CIMAGEVIEWER_H diff --git a/cimageviewer.ui b/cimageviewer.ui new file mode 100644 index 0000000..9f4fbff --- /dev/null +++ b/cimageviewer.ui @@ -0,0 +1,62 @@ + + + cImageViewer + + + + 0 + 0 + 400 + 300 + + + + Dialog + + + + + + true + + + + + 0 + 0 + 380 + 280 + + + + + + + + 20 + + + + loading... + + + Qt::AlignCenter + + + + + + + + + + + + cLabel + QLabel +
clabel.h
+
+
+ + +
diff --git a/clabel.cpp b/clabel.cpp new file mode 100644 index 0000000..3959e19 --- /dev/null +++ b/clabel.cpp @@ -0,0 +1,25 @@ +#include "clabel.h" + +#include + + +cLabel::cLabel(QWidget *parent, Qt::WindowFlags f) : + QLabel(parent, f) +{ +} + +cLabel::cLabel(const QString &text, QWidget *parent, Qt::WindowFlags f) : + QLabel(text, parent, f) +{ +} + +void cLabel::setImage(cImage* lpImage) +{ + m_lpImage = lpImage; +} + +void cLabel::resizeEvent(QResizeEvent* e) +{ + QLabel::resizeEvent(e); + setPixmap(QPixmap::fromImage(m_lpImage->scaled(width(), height(), Qt::AspectRatioMode::KeepAspectRatio, Qt::TransformationMode::SmoothTransformation))); +} diff --git a/clabel.h b/clabel.h new file mode 100644 index 0000000..b608b86 --- /dev/null +++ b/clabel.h @@ -0,0 +1,24 @@ +#ifndef CLABEL_H +#define CLABEL_H + + +#include + +#include "cimage.h" + + +class cLabel : public QLabel +{ +public: + cLabel(QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags()); + cLabel(const QString &text, QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags()); + + void setImage(cImage* lpImage); +private: + cImage* m_lpImage; + +protected: + void resizeEvent(QResizeEvent* e); +}; + +#endif // CLABEL_H