怎样及时刷新scene

amily2 2010-10-28 01:39:37
调用update(),update(sceneRect()),invalidate(),invalidate(sceneRect())都不行,应该怎样?
...全文
151 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ryfdizuo 2010-10-28
  • 打赏
  • 举报
回复
up 3楼
amily2 2010-10-28
  • 打赏
  • 举报
回复
多谢楼上,我试试。
帮助里东西太多,有时候无目的性的看点,有时候遇到问题无处下手,查了几个函数都不能解决。挺郁闷
看来要多写程序,积累经验了。。
dbzhang800 2010-10-28
  • 打赏
  • 举报
回复
哦,建议有空时多看看manual:


void QGraphicsItem::prepareGeometryChange () [protected]

Prepares the item for a geometry change. Call this function before changing the bounding rect of an item to keep QGraphicsScene's index up to date.
prepareGeometryChange() will call update() if this is necessary.
Example:
 void CircleItem::setRadius(qreal newRadius)
{
if (radius != newRadius) {
prepareGeometryChange();
radius = newRadius;
}
}
amily2 2010-10-28
  • 打赏
  • 举报
回复
一个可以用鼠标拖动边线来放大缩小的GraphicsItem,paint时在(0,-10)的位置上,也就是左上角用drawText画了个文字框。
但是拖动边线放大缩小GraphcisItem时,左上角的drawText没有及时刷新。
除了用scene的update()之外,用GraphicsItem的update()也没效果。
请问怎样刷新才可以呢?
dbzhang800 2010-10-28
  • 打赏
  • 举报
回复
建议你多提供点信息,比如在做什么操作,出现什么现象等。可能你需要的并不是刷新scene,而是其他地方没处理好

16,225

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧