#ifndef _IMAGEWIDGET_H

来源:互联网 发布:工具书知乎 编辑:程序博客网 时间:2024/04/29 15:38

#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

原创粉丝点击