#ifndef _IMAGEWIDGET_H
#define _IMAGEWIDGET_H
#include <QtGui>
class CImageWidget:public QWidget
{
Q_OBJECT
public:
CImageWidget(QWidget *parent = 0);
void paintEvent(QPaintEvent *); //关键是实现此方法
};
#endif
相应的实现文件代码:
#include "imagewidget.h"
CImageWidget::CImageWidget(QWidget *parent)
:QWidget(parent)
{
// set the title
setWindowTitle(tr("a simple widget!"));
resize(640, 480); //设置窗口大小
}
void CImageWidget::paintEvent(QPaintEvent *)
{
QPainter painter(this);
QImage image;
image.load(":/images/bruce.jpg"); //加载
painter.drawImage(0, 0, image, 0, 0, 320, 480);
QPixmap pix;
//下面的两行代码,只取其一即可。
// pix.load(":/images/bruce.jpg");
pix = pix.fromImage(image); //测试从QImage转换到QPixmap
painter.drawPixmap(320, 0, 320, 480, pix);
}
文章出处:飞诺网(www.firnow.com):http://dev.firnow.com/course/6_system/linux/Linuxjs/20100524/204238.html