QGraphicsOpacityEffect утомляет процессор - PullRequest
0 голосов
/ 08 декабря 2011

хочу чтобы мой виджет постепенно появился.

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 эффект был плохим. Загрузка ЦП слишком велика, и реакция мыши медленная. Как решить эту проблему ? Любая помощь будет оценена. Заранее спасибо.

1 Ответ

0 голосов
/ 12 июня 2012

Из-за ограниченной производительности оборудования я сбрасываю глубину цвета с 32 бит на 16 бит, эффект очень плавный.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...