• 6119阅读
  • 6回复

update()函数的怎么用,参数应如何传递,谢谢各位大哥,小弟刚学,没找到相关文档 [复制链接]

上一主题 下一主题
离线3314175
 

只看楼主 倒序阅读 楼主  发表于: 2009-03-22
update()函数的怎么用阿,参数应如何传递,谢谢各位大哥,小弟刚学,没找到相关文档
离线3314175

只看该作者 1楼 发表于: 2009-03-22
自己顶
离线3314175

只看该作者 2楼 发表于: 2009-03-22
继续顶
离线y383564500
只看该作者 3楼 发表于: 2009-03-22
update()函数用来重新绘制图层,不需要参数。当你重载paintEvent或QGraphicsItem里的paint时,里面的一些绘图参数是由参数控制的,当参数改变时,你就可以调用update来重新绘制下
离线3314175

只看该作者 4楼 发表于: 2009-03-22
但是我看到一些例子中可以不用重新绘制整个界面,而是通过传递参数只画出改变的地方
如Qt tutorial chapter 11 中的
void CannonField::moveShot()
{
     QRegion region = shotRect();
     ++timerCount;

     QRect shotR = shotRect();

     if (shotR.x() > width() || shotR.y() > height()) {
         autoShootTimer->stop();
     } else {
         region = region.unite(shotR);
     }
     update(region);
}

另外我也不明白为什么要用region,我试着将region换成shotRect(),结果轨迹变成一条线而不是原来的移动的点
请大侠指导
离线3314175

只看该作者 5楼 发表于: 2009-03-22
再顶
离线bingoking
只看该作者 6楼 发表于: 2009-03-23
看assistant,update()函数是可以传递参数的,可以指定重绘的区域,例如qwidget中的update(),有四个重载的函数
快速回复
限100 字节
 
上一个 下一个