sjtu_wjq 发表于 2015-1-2 09:32:08

用代码写 StyleSheet 是不是效率比较低

大家新年好,

       元旦在家没事做,就用QT写点界面玩玩。

       本来准备做一个类似于手机截屏一瞬间的效果的,全屏变白,然后慢慢变透明,最后回复之前的状态。
       我是这样做的,触发后,开一个timer,然后把一个Label的尺寸设置为全屏,白色。然后在timer里面逐渐改变透明度。
类似代码如下:

void ringlight::TimerGrabScreenISR()
{
    if(maskOpacity > 0)
    {
      maskOpacity --;
      ui->label_Mask->setStyleSheet("background-color: rgba(255, 255, 255, " + QString::number(maskOpacity , 10) + ")");
    }
    else
      this->close();
}


       实际的效果出来后,发现变透明的速度非常慢,蛮到这个效果白想了。。。。。
       之后我吧setStyleSheet 这句话屏蔽掉,或者改为移动效果都很快。


       请问大家有没有碰到过这样的事情,难道setStyleSheet的效率很低,或者是与透明相关的效率很低?





页: [1]
查看完整版本: 用代码写 StyleSheet 是不是效率比较低