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...