一、选择图形的某个区域,绘制一个类似蚂蚁线的选区。使用类QRubberBand
 if (!rubberBand)
     rubberBand = new QRubberBand(QRubberBand::Rectangle, this);
    rubberBand->setGeometry(QRect(origin, QSize()));
    rubberBand->show();

二、Graphics view
Graphics view框架结构主要包含了3个主要的类,分别是QGraphicsScene、QGraphicsView

、QGraphicsItem。QGraphicsScene场景类提供了一个用于管理位于其中的众多项目的

QGraphicsItem容器。QGraphicsView视口类用于显示场景中的项目。三者之间的关系

超时后可重新实现时间函数事件,完成相应相应超时处理。
void timerEvent(QTimerEvent *);

QGraphicsView和QGraphicsScene都有drawBackground()虚函数,它们做的工作都是
重画场景的背景。
MapWidget::drawBackground(QPainter *painter, const QRectF &rect)
{
    painter->drawPixmap(int(sceneRect().left()),int(sceneRect().top()),map);
}

使用QGraphicsItem必须重新实现两个函数

QRectF boundingRect() const;
    void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);

使用

QGraphicsScene *scene = new QGraphicsScene(this);

scene->setSceneRect(-200,-200,400,400);

QGraphicsView *view = new QGraphicsView;

view->setScene(scene);

view->setMinimumSize(400,400);

view->show();

setCentralWidget(view);

动画效果
MainWindow::slotAddAnimationItem()
{
    StarItem *item = new StarItem;
    QGraphicsItemAnimation *anim = new      QGraphicsItemAnimation;
   //设置要加入的动画元素
    anim->setItem(item);
    QTimeLine *timeLine = new QTimeLine(4000);
    timeLine->setCurveShape(QTimeLine::LinearCurve);
    //时间曲线永远循环
    timeLine->setLoopCount(0);
   //设置时间轴
    anim->setTimeLine(timeLine);
    
    int y = (qrand()%400) - 200;
   
    //设置过程点
    for (int i=0; i<400; i++)
    {
        anim->setPosAt(i/400.0, QPointF(i-200,y));
    }
    timeLine->start();
    scene->addItem(item);
}

http://blog.csdn.net/yongan1006/article/details/7712821

QT 类及其实现效果(8)--橡皮筋线,Graphics view相关推荐

  1. QT 中的 Graphics View 系统

    这个框架是一个相对成熟的渲染引擎的上层框架,通常也可以会叫做 Scene - View. 在QT中,GraphicsView是一个与QWdiget系列一点点不一样的系统.这个系统主要由下面几个框架类构 ...

  2. c语言程序设计樱花,Qt实现樱花飞舞效果

    本文实例为大家分享了Qt实现樱花飞舞效果的具体代码,供大家参考,具体内容如下 应女友要求,使用Qt做了一个在电脑桌面樱花飞舞的小程序.这里面用到了Qt动画效果QPropertyAnimation类来控 ...

  3. 《华清远见学习手记》之 网络五子棋游戏QT类的设计与实现 (4)

    网络五子棋游戏QT类的设计与实现 (4) 经过一段时间的C++和QT的学习,打算好好的改造一下前面的C++五子棋游戏. 你知道的,前面的程序甚至连构造函数都没有使用,还有虽然用到了面向对象的类,但思想 ...

  4. Qt Creator创建自定义效果和材质

    Qt Creator创建自定义效果和材质 创建自定义效果和材质 创建自定义效果 创建自定义材料 创建着色器文件 创建自定义效果和材质 " Qt Quick 3D效果"和" ...

  5. Qt Creator应用3D效果

    Qt Creator应用3D效果 应用3D效果 可用效果 应用3D效果 Qt Design Studio提供了一组Qt Quick 3D效果,这些效果继承了Qt Quick 3D Effects模块中 ...

  6. Win32下 Qt与Lua交互使用(二):在Lua脚本中使用Qt类

    话接上篇.成功配置好Qt+Lua+toLua后,我们可以实现在Lua脚本中使用各个Qt的类.直接看代码吧. #include "include/lua.hpp" #include ...

  7. Qt绑定UI界面和Qt类的四种方法

    1. Qt类头文件中 声明命名空间 namespace Ui { class Widget; } 声明UI指针对象 public:explicit Widget(QWidget *parent = 0 ...

  8. Qt助手(assistant):方便查找Qt类

    一个方便查找QT类用法的地方:QT自带的 QT助手.在qt安装路径中找到assistant.exe,它就是QT助手,运行之后就可以查找QT中的类和函数了 找到后,将其发送到桌面快捷方式,更名为Qt助手

  9. qt设计为磨砂玻璃效果_Pixyz的2020.1更新为数据准备带来了磨砂和光泽

    qt设计为磨砂玻璃效果 For their 2020.1 release, our partners at Pixyz have focused on improvements ranging fro ...

最新文章

  1. 三相不平衡的原因、危害以及解决措施
  2. 106. Leetcode 122. 买卖股票的最佳时机 II (动态规划-股票交易)
  3. 使用Python作为计算器
  4. linux ubuntu 12.04 下默认是安装了openjdk的
  5. 高逼格!程序猿的表白也可以这么浪漫
  6. linux tail 命令
  7. MySql数据库快速入门与常用sql语句
  8. C语言解决三色旗问题
  9. 初中计算机初识word教学设计,《初识Word》教学设计
  10. 假如生产环境出现CPU占用过高,如何排查与定位
  11. 存储空间不足,无法处理此命令。 (异常来自 HRESULT:0x80070008)
  12. 开启子进程的两种方式,孤儿进程与僵尸进程,守护进程,互斥锁,IPC机制,生产者与消费者模型...
  13. 音视频技术开发周刊 | 250
  14. [BZOJ]4864: [BeiJing 2017 Wc]神秘物质
  15. uView JS工具库
  16. 邻接矩阵用c语言,邻接矩阵无向图(一)之 C语言详解
  17. 运筹学实验4 运输问题的求解(二)
  18. t3怎么设置远程服务器,T1怎么配置才能让客户端远程登录上服务器呢?不借助任何第三方工具。...
  19. 点面科技申报的两项创新产品被上海市经信委立项
  20. 论文怎样发表期刊?有什么要求?

热门文章

  1. impact检测cable失败
  2. 未测试 Delphi读写UTF-8、Unicode格式文本文件
  3. django CBV源码
  4. 试用一款干净的搜索引擎——无追搜索
  5. mybatis plus join
  6. MPEG-PCC基于几何点云压缩(G-PCC codec description v12)学习笔记
  7. 简单步骤比别人抢红包快一步
  8. c盘是不是越大越好_C盘空间越来越小,罪魁祸首原来是“它”,难怪100G也不够用!...
  9. 织梦DEDECMS数据库配置文件在哪?如何修改配置信息
  10. 开平二手房(www.kpsfw.com)