陰影邊框很常見,諸如360以及其他很多軟體都有類似效果,
了解css3的同學們應該都知道
box-shadow,它就是來設定陰影效果的,
那麼qt呢?看過一些資料,說是qss是基於css2的,既然如此,box-shadow是基於css3的!那麼qt定然就用不了!
搜了一些資料,每張都做成陰影效果的固然不可能,直接捨棄(即使可以,也不採納)。如果實時的去畫圖,效率太低,最後選擇了拼圖的方式!
效果如下:
左上角、左下角、右上角、右下角、上、下、左、右,這幾個方向都繪製對應的圖即可!
#include "shadow_widget.h"
shadowwidget::shadowwidget(qwidget *parent)
: qdialog(parent)
shadowwidget::~shadowwidget()
void shadowwidget::paintevent(qpaintevent *event)
void shadowwidget::drawshadow(qpainter &painter)
寫乙個公共的類,如果視窗要實現陰影效果直接繼承就行了!
shadow_width為陰影邊框的畫素,可以根據自己的需求自由調節!
也可使用
qgraphicsdropshadoweffect來實現。。。
更多參考:
注:
╰☆奮鬥ing❤孩子`
原文:。
QT邊框陰影效果
方法一 this setattribute qt wa translucentbackground 邊框陰影效果 qgraphicsdropshadoweffect effect new qgraphicsdropshadoweffect effect setblurradius 6 effect ...
QT實現無邊框效果以及邊框陰影效果
qtwidget視窗優化 原始的qwidget視窗看著特別不舒服,於是自己嘗試著寫了乙個小的demo對qwidget進行了乙個優化 效果圖 外圍邊框去除,並且加上邊框陰影 實現視窗陰影效果 widget widget qwidget parent qwidget parent ui new ui w...
Qt無邊框視窗拖拽和陰影
只需要一行 即可實現 及執行效果 先要去qwidget裡面找到滑鼠事件函式 理一下座標的位置情況 左上角 螢幕的左上角 中間的視窗 程式的視窗 箭頭 滑鼠位置 座標位置滿足 x y z 在designer裡面拖乙個widget出來叫shadowwidget shadowwidget的顏色為灰色,我們...