Qt 控件渐变隐藏消失
生活随笔
收集整理的這篇文章主要介紹了
Qt 控件渐变隐藏消失
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
前言
在 Qt 開發(fā)中,經(jīng)常會設置某些控件透明的透明度,比如設置QLabel字體漸變隱藏,設置某個按鈕漸變消失等等,這在消息提示框中會常用到,顯示一定時間后讓控件有一個動畫逐漸消失的過程,其實原理很簡單,就是設置控件的透明度,直到透明度為0后再將控件設置為隱藏即可。動畫的過程可以用兩種方式來實現(xiàn),第一是通過定時器,不斷的設置控件的透明度,第二是通過QPropertyAnimation來實現(xiàn),當然,后者會更簡單。那么該如何設置控件透明度呢,這里需要用到QGraphicsOpacityEffect類。
正文
首先來看看效果圖
當然,還可以將 QLabel 換成其他控件,比如 QPushButton等等。
來看源碼:
代碼很簡單,就是QGraphicsOpacityEffect + QPropertyAnimation來實現(xiàn)想要的效果。
以上是設置控件的透明度,如果想要設置窗口透明度,需要用到 QWidget 的函數(shù)setWindowOpacity來實現(xiàn),原理和上面一樣,也可以通過QPropertyAnimation來實現(xiàn)動畫效果。這里就不再講述。
做了一個簡單的 demo,在這里下載
總結
以上是生活随笔為你收集整理的Qt 控件渐变隐藏消失的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: QGraphicsItem获取不到鼠标事
- 下一篇: QML 实现图片帧渐隐渐显轮播