Qt陰影效果

2021-08-05 23:03:39 字數 1736 閱讀 6210

1.  

widget.h

#ifndef

widget_h

#define

widget_h

#include

#include

#include

namespace

ui

class

widget

:public

qwidget

;
#endif

//widget_h

2. widget.cpp
#include

"widget.h"

#include

"ui_widget.h"

#define

width

800

#define

height

800

widget::widget(qwidget

*parent):

qwidget(parent),

ui(new

ui::widget)

widget::~widget()

void

widget::paintevent(qpaintevent

*event)

painter.setpen(qcolor(0,0,0,0));
painter.setbrush(qcolor(255,255,255));
painter.drawroundedrect(10,10,width

-20,height

-20,20,20);

}

void

widget::losemouse()

void

widget::mousereleaseevent(qmouseevent

*event)

}

void

widget::mousepressevent(qmouseevent

*event)

}

void

widget::mousemoveevent(qmouseevent

*event)

else

}
3.總結:
一般窗體自帶是有陰影的,但是為了美觀,我們都會去掉標題欄,但是同時陰影也沒了,那就需要自己繪製了,網上用**繪製的陰影效果都不太好,總是會帶有鋸齒,即
使加上反鋸齒的**,還是效果不好,後面突發奇想,在繪製的時候,直接將窗體設定為透明,繪製陰影時,再給brush加上透明度,效果會比改變畫筆的顏色效果會好一點!

QT邊框陰影效果

方法一 this setattribute qt wa translucentbackground 邊框陰影效果 qgraphicsdropshadoweffect effect new qgraphicsdropshadoweffect effect setblurradius 6 effect ...

Qt實現元件的陰影效果

qgraphicsdropshadoweffect shadow new qgraphicsdropshadoweffect 渲染的畫素點 shadow setblurradius 30 渲染的顏色 shadow setcolor qt gray 渲染相對於元件的偏移 將主視窗設定為透明 主視窗是沒...

QT實現無邊框效果以及邊框陰影效果

qtwidget視窗優化 原始的qwidget視窗看著特別不舒服,於是自己嘗試著寫了乙個小的demo對qwidget進行了乙個優化 效果圖 外圍邊框去除,並且加上邊框陰影 實現視窗陰影效果 widget widget qwidget parent qwidget parent ui new ui w...