使用Qt的Painter绘制图像并显示,根据窗口的大小计算图片显示的尺寸,并可以对图片放大和缩小的显示,还可以对已经放大了的图片进行平移预览的操作。
效果如下:
- 使用函数 painter.translate() 对画布进行平移操作。
- 使用函数 painter.scale() 对画布进行缩放的操作。
完整代码如下:
头文件
#ifndef IMAGE_VIEW_H
#define IMAGE_VIEW_H
#include <QWidget>
#include <QImage>
class ImageView : public QWidget
{
Q_OBJECT
public:
ImageView(QWidget *parent = nullptr);
~ImageView();
protected:
void contextMenuEvent(QContextMenuEvent *event) override;
void paintEvent(QPaintEvent *event) override;
void wheelEvent(QWheelEvent *event) override;
void mousePressEvent(QMouseEvent *event) override;
void mouseMoveEvent(QMouseEvent *event) override;
void mouseReleaseEvent(QMouseEvent *event) ov