社区
Qt
帖子详情
QGraphicsItem 的moveBy()函数??
风为裳のCode
2012-09-03 05:23:33
在mouseMoveEvent()中将滑动距离distance作为信号参数发出,在slot函数中distance作为moveBy(0,distance)的参数来滑动,现在我要将滑动位置pos限制在一段距离中(0~100),我这样 item->moveBy(0,(pos <0 || pos>100)? 0 :distance);但是我滑动太快距离还是会超出来,求解!!!!
...全文
798
1
打赏
收藏
QGraphicsItem 的moveBy()函数??
在mouseMoveEvent()中将滑动距离distance作为信号参数发出,在slot函数中distance作为moveBy(0,distance)的参数来滑动,现在我要将滑动位置pos限制在一段距离中(0~100),我这样 item->moveBy(0,(pos 100)? 0 :distance);但是我滑动太快距离还是会超出来,求解!!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
haltwang
2012-09-03
打赏
举报
回复
是不是distance求的有问题,我之前做QGraphicsItem的拖动的时候就是这里出的问题,MouseMoveEvent好像是一只都在触发的,不是积累很长时间了触发一次。
楼主可以把distance打印出来看看
图形视图框架
QGraphicsItem
(项,概念)
首先需要继承
QGraphicsItem
,必须重写 boundingRect() 和paint()
函数
,如果图形为非矩形的话,还需要再重写一下shape()
函数
boundingRect()返回要绘制图形项的矩形区域,所有绘画都必须限制在项目的边界内paint()用来绘制图形项shape()用来更精准的描述图形的区域,以便更好地进行碰撞检测。例如:创建一个c++项目,名为MyItemclass MyItem: public
QGraphicsItem
//继承
QGraphicsItem
。
Qt工作笔记-使用
QGraphicsItem
加载图片并实现碰撞
因为要做一个游戏,在线只是一个知识点例子,作下笔记而已。只给出伪代码,游戏作玩,开源发布!!!这里有2个知识点一个是
QGraphicsItem
的绘图。一个是
QGraphicsItem
的碰撞。实现绘图要重写:boundingRect()和paint();一定要保证所有的绘图都要在boundingRect()的边界之中。本次绘图代码如下:QRectF Graphic::boundingRect()co...
Qt图形视图框架:
QGraphicsItem
详解
1.1、
QGraphicsItem
::CacheMode:图形项的缓存模式缓存图形加快渲染速度,当需要重新绘制时图形项使用缓存的图形。1、NoCache默认值,所有图形项缓存均已禁用。每次需要重新绘制图形项时,都会调用
QGraphicsItem
::paint()。为图形项的逻辑(本地)坐标系启用了缓存。图形项创建一个具有可配置大小/分辨率的屏幕外像素缓冲区。呈现质量通常会下降,具体取决于缓存的分辨率和图形项转换。
QGraphicsItem
的使用
如何在设计界面中添加QGraphicsView控件? 1 打开设计界面,点开Display Widgets,将Graphics Widget 控件拖动到界面上即可。 QGraphicsView组成单元 -QGraphicsView(视图) ---QGraphicsScene(场景) -----
QGraphicsItem
(图元) QGraphicsView提供一个可视的窗口,用于显示场景中的图元,一个场景中可以有多个视图。 QGraphicsScene本身不可见,是一个存储图元的容
继承
QGraphicsItem
类 (二) 实现图形的拖动及画选中框
拖动及画选中框都是由鼠标的三个事件来实现的。 #include <QGraphicsSceneMouseEvent> //鼠标按下事件 void mousePressEvent(QGraphicsSceneMouseEvent *event) override; //鼠标移动事件 void mouseMoveEvent(QGraphicsSceneMouseEvent *event) override; //鼠标释放事件 void mouseReleaseEvent(QG...
Qt
16,235
社区成员
26,649
社区内容
发帖
与我相关
我的任务
Qt
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
复制链接
扫一扫
分享
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章