qt学习笔记(五) QGraphicsPixmapItem与QGraphicsScene的编程实例 图标拖动渐变效果
2012-09-27 10:18
323 查看
先看看运行效果,我用的群创7寸屏,主机是mini2440,分辨率是800*480,程序写比较粗糙,但对初学者还是有一点启发,大家一起进步。
qt中提供了QGphicsView,QGraphicsScene,QGraphicsItem,QGraphicsPixmapItem是QGraphicsItem的子类
分辨创建它们的实例:view,scene,item,然后通过各自的方法scene->addItem(item);view->setScene(scene);就可以达到类似下图的效果,想要进一步定制,则要继承QGraphicsItem或QGraphicsPixmapItem,然后重写paint()、boundingRect()等方法,此外如果还想要获取鼠标事件,重写mousePressEvent等事件就好了,注意,一旦重写了mousePressEvent方法,就以为了qt不会再自动处理item的任何press事件了,可以在你重写的mousePressEvent方法中最后添加QGraphicsItem::mousePressEvent(event);解决这个问题,就是说你获取到了鼠标事件,但是依然让qt处理这个鼠标事件。
程序中的item可以水平拖动,拖动的同时图标大小会渐变,中间最大,两边渐小。
图1
图2
图3
下面是源程序目录结构:
mainwindow.h与main.cpp是qt自动产生的代码,我没有产生窗口ui
myscene.h与某与scene.cpp是定义了类MyScene,继承自QGraphicsScene,我的目的是要获取其鼠标事件
nodeui.h与nodeui.cpp是定义了类NodeUI,继承自QGraphicsPixmapItem,目的相当多。
下面具体的源文件:myscene.h与myscene.cpp相对简单,就实现了一个功能
myscene.h
本文来源:http://blog.csdn.net/ghostyu/article/details/7017112
qt中提供了QGphicsView,QGraphicsScene,QGraphicsItem,QGraphicsPixmapItem是QGraphicsItem的子类
分辨创建它们的实例:view,scene,item,然后通过各自的方法scene->addItem(item);view->setScene(scene);就可以达到类似下图的效果,想要进一步定制,则要继承QGraphicsItem或QGraphicsPixmapItem,然后重写paint()、boundingRect()等方法,此外如果还想要获取鼠标事件,重写mousePressEvent等事件就好了,注意,一旦重写了mousePressEvent方法,就以为了qt不会再自动处理item的任何press事件了,可以在你重写的mousePressEvent方法中最后添加QGraphicsItem::mousePressEvent(event);解决这个问题,就是说你获取到了鼠标事件,但是依然让qt处理这个鼠标事件。
程序中的item可以水平拖动,拖动的同时图标大小会渐变,中间最大,两边渐小。
图1
图2
图3
下面是源程序目录结构:
mainwindow.h与main.cpp是qt自动产生的代码,我没有产生窗口ui
myscene.h与某与scene.cpp是定义了类MyScene,继承自QGraphicsScene,我的目的是要获取其鼠标事件
nodeui.h与nodeui.cpp是定义了类NodeUI,继承自QGraphicsPixmapItem,目的相当多。
下面具体的源文件:myscene.h与myscene.cpp相对简单,就实现了一个功能
myscene.h
本文来源:http://blog.csdn.net/ghostyu/article/details/7017112
相关文章推荐
- qt学习笔记(五) QGraphicsPixmapItem与QGraphicsScene的编程实例 图标拖动渐变效果
- qt学习笔记(五) QGraphicsPixmapItem与QGraphicsScene的编程实例 图标拖动渐变效果
- qt学习笔记(五) QGraphicsPixmapItem与QGraphicsScene的编程实例 图标拖动渐变效果
- qt学习笔记(五)QGraphicsPixmapItem与QGraphicsScene的编程实例 图标拖动渐变效果
- qt学习笔记(五) QGraphicsPixmapItem与QGraphicsScene的编程实例 图标拖动渐变效果
- qt学习笔记(五) QGraphicsPixmapItem与QGraphicsScene的编程实例 图标拖动渐变效果
- qt学习笔记(五) QGraphicsPixmapItem与QGraphicsScene的编程实例 图标拖动渐变效果
- qt学习笔记(五) QGraphicsPixmapItem与QGraphicsScene的编程实例 图标拖动渐变效果
- qt学习笔记(五) QGraphicsPixmapItem与QGraphicsScene的编程实例 图标拖动渐变效果
- 【转】 qt学习笔记(五) QGraphicsPixmapItem与QGraphicsScene的编程实例 图标拖动渐变效果
- QGraphicsPixmapItem与QGraphicsScene的编程实例 图标拖动渐变效果
- Android编程实现图标拖动效果的方法
- Android编程实现图片背景渐变切换与图层叠加效果
- iOS 页面滑动与标题切换颜色渐变的联动效果实例
- dvbbs 7.1版块图标感应渐变效果 From www.jfeng.cn
- jQuery实现拖动效果的实例代码
- Android编程实现自定义渐变颜色效果详解
- JS+CSS实现鼠标经过弹出一个DIV框完整实例(带缓冲动画渐变效果)
- jquery拖动层效果插件用法实例分析(附demo源码)
- ActionBar随ScorllView上下拖动而透明度渐变效果