QGraphicsOpacityEffect让CPU累了

时间:2011-12-08 03:55:11

标签: qt qt4

我希望我的小部件逐渐出现。

QGraphicsOpacityEffect *opacityEffect = new QGraphicsOpacityEffect(this);
myWidget->setGraphicsEffect(opacityEffect);
opacityEffect->setOpacity(0);

QTimer timerOpacity = new QTimer(this);
connect(timerOpacity,SIGNAL(timeout()),this,SLOT(changeOpacity()));
timerOpacity->start(100);

void Widget::changeOpacity()
{
    float opacity[10] =  {0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1};
    this->opacityEffect->setOpacity(opacity[opalevel]);

    if (opalevel >= 9)
    {
        opalevel = 0;
        this->opacityEffect->setOpacity(1);
        this->timerOpacity->stop();
    }

    opalevel++;
}

我对计算机调试的效果非常满意。我想强调的是,当在ARM11 + Linux + Qt-embedded-4.6上运行时,效果很差.CPU负载太大,并且鼠标响应很慢。 如何解决这个问题呢 ?任何帮助将不胜感激。提前谢谢。

1 个答案:

答案 0 :(得分:0)

由于硬件性能有限,我将色深从32bit重置为16bit,效果非常流畅。