mirror of
https://gitee.com/drabel/LibQQt.git
synced 2025-01-04 10:18:44 +08:00
更新阴影窗体
This commit is contained in:
parent
a2e72bf99d
commit
64b7bbbb22
@ -7,7 +7,10 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief The QQtBodySelectedStyle class
|
* @brief The QQtBodySelectedStyle class
|
||||||
* 窗体选中效果
|
* 窗体选中效果。
|
||||||
|
*
|
||||||
|
* 选中效果的绘制无论如何都会绘制在QQtWidget里面图片的下方
|
||||||
|
* 在QQtExquisite里面提供了QQtSelectedStyle类,针对QQtMultiPageWidget设置选中效果。
|
||||||
*/
|
*/
|
||||||
class QQTSHARED_EXPORT QQtBodySelectedStyle : public QObject
|
class QQTSHARED_EXPORT QQtBodySelectedStyle : public QObject
|
||||||
{
|
{
|
||||||
|
@ -55,21 +55,39 @@ void QQtShadowWidget::drawShadowPlanB()
|
|||||||
|
|
||||||
void QQtShadowWidget::drawShadowPlanC ()
|
void QQtShadowWidget::drawShadowPlanC ()
|
||||||
{
|
{
|
||||||
QPainterPath path;
|
|
||||||
path.setFillRule ( Qt::WindingFill );
|
|
||||||
path.addRect ( 10, 10, this->width() - 20, this->height() - 20 );
|
|
||||||
QPainter painter ( this );
|
QPainter painter ( this );
|
||||||
painter.setRenderHint ( QPainter::Antialiasing, true );
|
painter.setRenderHint ( QPainter::Antialiasing, true );
|
||||||
painter.fillPath ( path, QBrush ( Qt::white ) );
|
|
||||||
|
|
||||||
|
//QPainterPath path;
|
||||||
|
//path.setFillRule ( Qt::WindingFill );
|
||||||
|
//path.addRoundRect ( 10, 10, this->width() - 20, this->height() - 20, 3 );
|
||||||
|
//painter.setRenderHint ( QPainter::Antialiasing, true );
|
||||||
|
//pline() << painter.background().color();
|
||||||
|
//painter.fillPath ( path, painter.background().color() );
|
||||||
|
|
||||||
|
//50这里没用
|
||||||
QColor color ( 0, 0, 0, 50 );
|
QColor color ( 0, 0, 0, 50 );
|
||||||
for ( int i = 0; i < 10; i++ )
|
//40代表了横跨幅
|
||||||
|
int j = 40;
|
||||||
|
for ( int i = 0; i < j; i++ )
|
||||||
{
|
{
|
||||||
QPainterPath path;
|
QPainterPath path;
|
||||||
path.setFillRule ( Qt::WindingFill );
|
path.setFillRule ( Qt::WindingFill );
|
||||||
path.addRect ( 10 - i, 10 - i, this->width() - ( 10 - i ) * 2, this->height() - ( 10 - i ) * 2 );
|
//10就是margin。xxx
|
||||||
color.setAlpha ( 150 - qSqrt ( i ) * 50 );
|
//画的圈子越来越大
|
||||||
painter.setPen ( color );
|
path.addRoundRect ( j - i, j - i, this->width() - ( j - i ) * 2, this->height() - ( j - i ) * 2, 3 );
|
||||||
painter.drawPath ( path );
|
//颜色越来越浅。 初始数字越小,效果越好,越精细。
|
||||||
|
qreal alpha = 10 - ( qreal ) i * 1 / ( j / 30 ); //150 - qSqrt ( i ) * 50 ;
|
||||||
|
//无论如何不能过滤,都是细线。
|
||||||
|
//if ( ( ( int ) ( alpha / 10 ) % 2 ) == 1 )
|
||||||
|
// continue;
|
||||||
|
if ( alpha >= 0 )
|
||||||
|
{
|
||||||
|
color.setAlpha ( alpha );
|
||||||
|
//pline() << alpha;
|
||||||
|
painter.setPen ( color );
|
||||||
|
painter.drawPath ( path );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user