| 
 | 
 
大家新年好, 
 
       元旦在家没事做,就用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的效率很低,或者是与透明相关的效率很低? 
 
 
 
 
 
 |   
 
 
 
 |