Qt 乙個淡出提示效果

2021-10-08 04:17:25 字數 2333 閱讀 3888

1.效果

2.簡述

靜態方法實現,不用例項化。

自動居中父控制項,父控制項傳nullptr在螢幕居中。

呼叫方式showhintlabel(nullptr,「設定錯誤」);

showhintlabel(nullptr,「設定錯誤,請設定有效的值,\n範圍為20~100;」);

定義

static

void

widgetcenter

(qwidget *pwidget,qwidget*parent = nullptr)

;static

void

showhintlabel

(qwidget *parent,qstring strtext,qstring strfontsize =

"12px"

,qstring strcolor =

"#ffffff"

,qstring strbgcolor =

"#000000");

//乙個提示便簽 會淡化消失

實現

void

widgetcenter

(qwidget *pwidget, qwidget *parent)

void

showhintlabel

(qwidget *parent, qstring strtext, qstring strfontsize, qstring strcolor, qstring strbgcolor)

qframe *pfrmbg = new qframe

(parent)

;//為了相容parent為nullptr時的圓角邊框 方法是背景透明 上邊疊加圓角控制項

qlabel *phintlabel = new qlabel

(pfrmbg)

; phintlabel->

setstylesheet

(qstring

("qlabel").

arg(strbgcolor)

.arg

(strcolor)

.arg

(strfontsize));

phintlabel->

settext

(strtext)

; phintlabel->

setalignment

(qt::aligncenter)

; phintlabel->

adjustsize()

; phintlabel->

resize

(phintlabel->

size()

+qsize(60

,30))

; pfrmbg->

resize

(phintlabel->

size()

);pfrmbg->

setwindowflags

(qt::framelesswindowhint)

; pfrmbg->

setattribute

(qt::wa_translucentbackground)

; cquicktools::

widgetcenter

(pfrmbg,parent)

; pfrmbg->

show()

; qpropertyanimation *panimation = new qpropertyanimation

(pfrmbg,

"windowopacity");

panimation->

setduration

(2000);

panimation->

seteasingcurve

(qeasingcurve::incirc)

; panimation->

setstartvalue

(1.0f);

panimation->

setendvalue

(0.0f);

panimation->

start()

;connect

(panimation,

&qpropertyanimation::finished,[=

]);}

乙個簡單的提示效果

乙個簡單的效果,修改了三次才能達到如意的效果。看來,細節真的是決定成敗。春江潮水連海平 div class l id c0 a href 收藏a a href 刪除a div div div class b id b1 onmouseover c 1 春江潮水連海平 div class l id c...

實現乙個水平垂直居中的淡入淡出提示框

面試中遇到的問題,沒答上來,虐哭了,直接貼上 可直接複製執行 doctype html en dir ltr utf 8 toast title head screen 出現時的漸變 keyframes fadein 100 表示不同的核心 webkit keyframes fadein 100 m...

QT實現遮罩效果的乙個簡單辦法

一 建立乙個新視窗mpshadewindow,使其成為主視窗的類成員。在主視窗的類中新增成員 qwidget mpshadewindow 在主視窗類的建構函式中為新視窗申請記憶體 mpshadewindow new qwidget this 二 在需要開啟遮罩的位置,執行如下 設定遮罩視窗 qstr...