Qt 實現按鈕透明的動畫效果

2021-09-10 09:23:37 字數 871 閱讀 7686

qt裡實現動畫一般是用qpropertyanimation,也支援有透明的動畫效果,即屬性為opacity。該屬性是qwindow類及其派生類才有的,qwidget沒有,qwidget及其派生類就用不了,故只能使用其他方法來實現了

我們這裡通過qgraphicsopacityeffect來設定透明度,使用定時器來控制。

效果如下圖:

下面上**

標頭檔案:

#ifndef recordbtn_h

#define recordbtn_h

#include class qgraphicsopacityeffect;

class qtimer;

class recordbtn : public qpushbutton

;#endif // recordbtn_h

cpp檔案:

#include "recordbtn.h"

#include #include recordbtn::recordbtn(qwidget *parent):

qpushbutton(parent)

else

if(m_opacityval > 0.9)

else if(m_opacityval < 0.1)

});}void recordbtn::startanimation()

void recordbtn::stopanimation()

bool recordbtn::isactive() const

QT 透明 半透明 效果

objwindow setwindowopacity 只對視窗有效,setattribute qt wa translucentbackground,true 對於視窗widget必須設定為qt framelesswindowhint include qgraphicsopacityeffect o...

Qt實現半透明遮罩效果

本文索引我們在顯示一些模態對話方塊的時候,往往需要將對話方塊的背景顏色調暗以達到突出當前對話方塊的效果,例如 對話方塊的父視窗除了標題欄以外的部分都變暗了,在父視窗的對比下對話方塊的顯示效果就得到了強調。這種設計多見於web頁面,當使用者點選諸如購買之類的按鈕後頁面會彈出乙個購物清單確認對話方塊,並...

QT下的幾種透明效果

1.視窗整體透明,但是窗體上的控制項不透明。通過設定窗體的背景色來實現,將背景色設定為全透。試驗效果 窗體標題欄不透明 窗體客戶區上的控制項不透明,qlabel控制項只是字顯示,控制項背景色透明 窗體客戶區完全透明。另外從網上看到的方法 true 試驗的結果是類似於上面的方法,但有時候窗體會被一些雜...