初探 Qt Opengl【2】
2015-09-16 11:40
295 查看
最近在研究QOPengl QGraphicsView QGraphicsItemQGraphicsScene不过也只是皮毛,也不是做什么技术贴,就是记录一下自己在其中遇到的问题,和自己新学到的东西。
有兴趣的可以交流
目前主要就是利用QGraphicsView 的分层显示,scene的可以容纳数以万计的item
我的理解scene是一个可以存各种item的容器
View就是将这个容器中的内容让用户可见
在绘制任意图形的时候,我遇到了QpainterPath类
其中QPainterPath中有一个参数是需要QPolygonF类
具体代码如下:
其中,item_My->setFlag(QGraphicsItem::ItemIsSelectable,true);
item_My->setFlag(QGraphicsItem::ItemIsMovable,true);
这两行代码是比较重要的,QGraphicsItem默认是将鼠标事件关闭的,
这两行代码使Item可以拖拽,可是选择。
在QGraphicsView的最底层,添加了继承QGLwidget类的opengl绘制函数
出现问题是QGraphicsView无法时时刷新界面
对饮解决办法就是
调用QGraphicsView的Viewport的update函数
如果使用Opengl的update函数是不可以的
目前就这么多了
下面是拍的几张图
练习源代码:http://download.csdn.net/detail/z609932088/9110865
有兴趣的可以交流
目前主要就是利用QGraphicsView 的分层显示,scene的可以容纳数以万计的item
我的理解scene是一个可以存各种item的容器
View就是将这个容器中的内容让用户可见
在绘制任意图形的时候,我遇到了QpainterPath类
其中QPainterPath中有一个参数是需要QPolygonF类
具体代码如下:
QPainterPathpath; QPolygonFpolygon; polygon<<QPointF(10,20)<<QPointF(30,20)<<QPointF(20,0)<<QPointF(10,20); path.addPolygon(polygon); QGraphicsItem*item_My=scene->addPath(path,QPen(QColor(0,255,0),3,Qt::SolidLine,Qt::FlatCap,Qt::MiterJoin),QBrush(QColor(0,255,0))); item_My->setFlag(QGraphicsItem::ItemIsSelectable,true); item_My->setFlag(QGraphicsItem::ItemIsMovable,true); item_My->moveBy(x,y);
其中,item_My->setFlag(QGraphicsItem::ItemIsSelectable,true);
item_My->setFlag(QGraphicsItem::ItemIsMovable,true);
这两行代码是比较重要的,QGraphicsItem默认是将鼠标事件关闭的,
这两行代码使Item可以拖拽,可是选择。
在QGraphicsView的最底层,添加了继承QGLwidget类的opengl绘制函数
出现问题是QGraphicsView无法时时刷新界面
对饮解决办法就是
调用QGraphicsView的Viewport的update函数
如果使用Opengl的update函数是不可以的
目前就这么多了
下面是拍的几张图
练习源代码:http://download.csdn.net/detail/z609932088/9110865
相关文章推荐
- qtp,VBScript操作MySQL数据库时,关于多次访问数据库的问题,数据集如何处理
- qt 数据库表不存在则创建
- 如何在Qt应用中退出应用
- 有关openmesh 4.1如何在vs2010以及qt creator中搭建使用
- Qt 学习之路 :使用 QJson 处理 JSON
- Qt5对Json的读写
- qtopia2.0桌面环境和qt4应用程序共存の法
- 学习Qt5(7)
- Qt4.8.5连接MySQL5.5
- QTcrateor 编译 ROS
- Qt 学习之路:Canvas
- Qt 学习之路:模型-视图高级技术
- Qt 学习之路 :视图代理
- 搭建虚拟机下ubuntu的qt-arm交叉编译工具
- 自学QT之启动画面
- Qt 学习之路 :动态视图
- Qt Creator设置窗口布局
- Qt 学习之路 :Repeater
- Qt 学习之路:输入元素
- Qt入门学习——Qt 5 帮助文档的使用