Qt實現控制元件的漸隱漸現動效

perfect_cat-發表於2020-12-08

主要用到兩個類:QGraphicsOpacityEffectQPropertyAnimation

QGraphicsOpacityEffect *opacity = new QGraphicsOpacityEffect(this);
//opacity->setOpacity(0.5); //設定透明度0.5,透明範圍:[0,1]
ui->btn->setGraphicsOpacityEffect(opacity); //應用到需要透明變化的控制元件;

//使用屬性動畫類讓控制元件在透明度範圍內變化
QPropertyAnimation *opacityAnimation = new QPropertyAnimation(opacity, "opacity");
opacityAnimation->setDuration(30000); //動效時長3s
opacityAnimation->setStartValue(0);
opacityAnimation->setEndValue(1);
opacityAnimation->start();

上面只是一種方法,當然實現漸隱漸現還有別的方法;比如:如果只讓文字是漸隱漸現,可以設定字型color的的透明度,配合QTimeLine設定透明度在[0, 255]變化

相關文章