读书人

绘制部件部件移动有轨迹有关问题

发布时间: 2012-12-16 12:02:32 作者: rapoo

绘制部件,部件移动有轨迹问题
大致结构是这样,class tank : public QWidget, class Btank:public tank,
class Gtank:public tank,
class Widget : public QWidget (此为主窗口)


void tank::paintEvent(QPaintEvent *)
{
QPainter painter(this);
painter.drawPixmap(QPoint(0,0),*pix);
}


void Btank::draw()
{
QPainter painter(pix); 此处pix为主窗体的QPixmap*
painter.drawImage(QPoint(X,Y),image); 此处图像已加载好

}

以Btank为例,对象每次移动后都调用draw()和update(),但是轨迹还在。。怎么能除去轨迹?
[最优解释]
直接调用主窗口的update么?

但是如果这样控件多了会不会闪屏呢。

为啥不把图片放到label里面。。直接移动这个控件呢? 不太理解你的需求。随便猜的。
[其他解释]
主窗口也要重画。
[其他解释]
先调用update试试 或repaint
[其他解释]

引用:
主窗口也要重画。


主窗口有几个对象,不知道怎么能局部重画呢?别把别的对象抹了。。
[其他解释]
引用:
直接调用主窗口的update么?

但是如果这样控件多了会不会闪屏呢。

为啥不把图片放到label里面。。直接移动这个控件呢? 不太理解你的需求。随便猜的。



请问,怎么不使用布局,设置label的位置?然后移动的时候是用哪个函数?网上没看到啊。。
[其他解释]
引用:
引用:直接调用主窗口的update么?

但是如果这样控件多了会不会闪屏呢。

为啥不把图片放到label里面。。直接移动这个控件呢? 不太理解你的需求。随便猜的。


请问,怎么不使用布局,设置label的位置?然后移动的时候是用哪个函数?网上没看到啊。。




是调用setGeometry()函数吗?


[其他解释]
直接Move

读书人网 >QT开发

热点推荐