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();
QPropertyAnimation調用start可以設置 動畫完成后自動delete