当前位置: 代码迷 >> QT开发 >> 绘制部件,部件移动有轨迹有关问题
  详细解决方案

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

热度:28   发布时间:2016-04-25 04:19:07.0
绘制部件,部件移动有轨迹问题
大致结构是这样,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
  相关解决方案