Qt绘图详解 下载本文

点选择进入下一步:

下一步:

完成后就出现:

2、找两张图片放到工程文件夹中:

打开资源文件点添加文件将这两个图片添加进去:

先要添加前缀,可以改的,如我将改为

然后再添加图片:

2、 下面开始写程序:

首先还要知道的一个东西,这个模块是没法直接去访问图片的,必须通过QPixmap类的对象去访问,QPixmap它是个位图文件(bmp)能够将不同格式的图片文件转换成统一像素的映射。

首先在mycanvas.h文件中添加图片类#include

>

在成员中定义:

protected:

QGraphicsEllipseItem ellipseItem; //定义一个圆 非抽象的子类 QGraphicsTextItem TextItem; QGraphicsPixmapItem imageItem;

QPixmap beauty0; //定义QPixmap类的对象去访问图片文件

};

3、 根据上面所说的在.h文件定义的对象就要拿到.cpp里去实现 在

mycanvas.cpp里面:

#include \

Mycanvas::Mycanvas(QObject *parent) : QGraphicsScene(parent), beauty0(\) // 把路径写上 注意此处‘:’千万不能少 新增加的 {

//通过会图项 set xxx() 设置绘图属性

ellipseItem.setRect(50,80, 100, 80); //圆点坐标 后面两个不相等为椭圆

ellipseItem.setBrush(QBrush(Qt::green)); TextItem.setPlainText(

QString::fromLocal8Bit(\捣蛋猪\)); TextItem.setX(ellipseItem.x()+90); //显示的位置 TextItem.setY(ellipseItem.y()+90);

imageItem.setPixmap(beauty0); //将图片文件添加进去 新增加的

imageItem.setPos(120,120); //设置坐标点 新增加的

addItem(&ellipseItem); //将椭圆添加到数据结构里面去

addItem(&TextItem); //将字符串添加到数据结构里面去

addItem(&imageItem); //将图片添加到数据结构里面去 新增加的 } 4、 编译看效果:

此时美丽的兽兽展现我们面前。在画布上先也就这么简单。

接下来要在这个的基础上继续完成一些功能。

一、 实现点下鼠标完成换图片的功能

1、 先将程序改装一下,把处理图片对象单独放在一个类中,因为后面要对图片进行很多操作。

如定义类名为BeautyItem 它继承自QGraphicsPixmapItem类。

示意图为:

有了它就好办了, 添加类: