1.
widget.h
#ifndefwidget_h
#definewidget_h
#include
#include
#include
namespaceui
classwidget
:public
qwidget
;
#endif//widget_h
2. widget.cpp
#include"widget.h"
#include"ui_widget.h"
#definewidth
800
#defineheight
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...