点选择进入下一步:
下一步:
完成后就出现:
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类。 示意图为: 有了它就好办了, 添加类: