QWidget控件透明动画实现
要做子控件透明需要用到QGraphicsOpacityEffect类
使用方法:
QGraphicsOpacityEffect * m_pGraphicsOpacityEffect1;
QPropertyAnimation * m_pOpacityAnimation1;
m_pGraphicsOpacityEffect1 = new QGraphicsOpacityEffect(m_pHomeBtn);
m_pGraphicsOpacityEffect1->setOpacity(1.0);
m_pHomeBtn->setGraphicsEffect(m_pGraphicsOpacityEffect1);
m_pOpacityAnimation1 = new QPropertyAnimation(m_pGraphicsOpacityEffect1,"opacity",this);
m_pOpacityAnimation1->setDuration(m_nDuring);
m_pOpacityAnimation1->setStartValue(0);
m_pOpacityAnimation1->setEndValue(1.0);
m_pOpacityAnimation1->start();
注意,窗口透明要用 setWindowOpacity()比较简单,不再赘述。