我的程序人生

QT 图片导入测试

         今天在家里做了一下导入图片到GUI里面的测试。开始用一个QLable setPixmap来做。但是就是没有办法成功,也不知这个方法是否可以用来加载图片。但是我是没有实现的。

最后自己定义了一个QWidget子类,在里面继承了QWidget的 paintEvent事件。
这样就可以用这个组件时就可以显示图片。后面又对里面的图片尺寸设置为该组件的大小。这样对调整界面时就会出现的图片里面是随着大小而在改变。

代码: Picture.h
#ifndef PICTURE_H_
#define PICTURE_H_

#include <QWidget>


class QPaintEvent;
class QPixmap;
class Picture
:public QWidget
{
public
:
    Picture(const QString 
&f,QWidget *parent=0);
protected:
    void paintEvent(QPaintEvent 
*event);
    
    
private
:
    
//QString filename;
    QPixmap 
*image;
};

#endif /*PICTURE_H_*/

Picture.cpp
#include <QtGui>
#include "Picture.h"
#include <iostream>

Picture::Picture(const QString &f,QWidget *parent)
:QWidget(parent)
{    
    image
=new QPixmap(f);    
    QSize size
=image->size();
    setMinimumHeight(
50); //该句是加上后对该组件显示出来里面的图片,不然就显示不了。
}

void Picture
::paintEvent(QPaintEvent *event){
    QPainter 
print(this);
    QSize size
=this->size();
    QPixmap img;
    img
=image->scaled(size.width(),size.height(),Qt::IgnoreAspectRatio);
    
print.drawPixmap(0,0,img);

}

posted on 2007-08-12 21:05 lancey 阅读(1289) 评论(0)  编辑 收藏 引用 所属分类: qt


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


My Links

Blog Stats

常用链接

留言簿(2)

随笔档案

文章分类

文章档案

我的链接

搜索

最新评论

阅读排行榜

评论排行榜