加載圖片可以使用QLabel ,但是QLabel不容易實現圖像的自由縮放,比如放大後就不能放小等。可以使用QWidget來加載圖像。具體做法就是,從QWidget派生一個類ShowWidget,重載ShowWidget中的paintEvent方法,在paintEvent中使用QPainter 來顯示圖片。
showwidget.h
#ifndef SHOWWIDGET_H
#define SHOWWIDGET_H
#include <QWidget>
#include <qpixmap.h>
#include <qpainter.h>
class ShowWidget : public QWidget
{
Q_OBJECT
public:
ShowWidget(QWidget *parent);
~ShowWidget();
void ShowWidget::paintEvent(QPaintEvent *pEvent);
private:
QPixmap img;
QPainter painter;
};
#endif // SHOWWIDGET_H
showwidget.cpp
#include "showwidget.h"
ShowWidget::ShowWidget(QWidget *parent)
: QWidget(parent)
{
img.load("./0.jpg");
}
ShowWidget::~ShowWidget()
{
}
void ShowWidget::paintEvent(QPaintEvent *pEvent)
{
painter.begin(this);
painter.drawPixmap(rect(), img);
painter.end();
}
實現效果: