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