郑州网站制作多少钱,网页平面设计培训,大连网站空间,最好用的免费建站平台Qt的标准图形效果类#xff1a;
QGraphicsBlurEffect提供模糊效果QGraphicsColorizeEffect提供染色效果QGraphicsDropShadowEffect提供阴影效果QGraphicsOpacityEffect提供透明效果
QGraphicsBlurEffect#xff08;模糊效果#xff09;
模糊效果会模糊源。此效果对于减少细…Qt的标准图形效果类
QGraphicsBlurEffect提供模糊效果QGraphicsColorizeEffect提供染色效果QGraphicsDropShadowEffect提供阴影效果QGraphicsOpacityEffect提供透明效果
QGraphicsBlurEffect模糊效果
模糊效果会模糊源。此效果对于减少细节非常有用常用于失去焦点时想要更加突出焦点控件。
常用函数
setBlurHints设置模糊提示setBlurRadius()设置模糊半径使用较小的半径会导致更清晰的外观而较大的半径会导致更模糊的外观默认为5像素
enum QGraphicsBlurEffectBlurHint
QGraphicsBlurEffect::PerformanceHint指示呈现性能是最重要的因素但潜在的代价是质量较低。QGraphicsBlurEffect::QualityHint指示呈现质量是最重要的因素但可能以降低性能为代价QGraphicsBlurEffect::AnimationHint指示将要对模糊半径进行动画处理暗示实现可以保留源的模糊版本的缓存。如果源将动态更改请不要使用此提示。性能提示提示表示您想要更快的模糊使用质量提示提示表示您更喜欢更高质量的模糊。 在QGraphicsItem中使用鼠标点击时变为模糊。
//MyItem继承自QGraphicsItem
void MyItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
{QGraphicsBlurEffect *effectnew QGraphicsBlurEffect;effect-setBlurHints(QGraphicsBlurEffect::PerformanceHint);//性能模式effect-setBlurRadius(10);//设置模糊半径setGraphicsEffect(effect);//设置模糊
}
初始状态: 模糊状态 QGraphicsColorizeEffect染色
函数
setColor设置颜色默认情况下颜色为浅蓝色 QColor0 0 192setStrength设置强度默认情况下强度为 1.0。强度 0.0 等于无效而 1.0 表示完全着色
void MyItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
{QGraphicsColorizeEffect * effectnew QGraphicsColorizeEffect;//创建染色器effect-setColor(QColor(Qt::green));effect-setStrength(0.5);//设置强度setGraphicsEffect(effect);
}
初始状态 染色后的状态 QGraphicsDropShadowEffect阴影效果 提供一个阴影效果该效果可以为源对象提供一个阴影。
常用函数
setBlurRadius设置模糊半径默认像素半径为1setColor设置投影的颜色默认为液滴颜色为半透明的深灰色 QColor63 63 63 180setOffset 添加偏移量默认为右下角8像素 setXOffset()x轴的偏移量setYOffset() y轴的偏移量
void MyItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
{QGraphicsDropShadowEffect * effectnew QGraphicsDropShadowEffect;//创建阴影effect-setColor(QColor(Qt::green));//设置阴影颜色effect-setBlurRadius(10);//模糊半径effect-setOffset(10);//设置偏移量setGraphicsEffect(effect);
}
初始状态 点击之后 QGraphicsOpacityEffect透明效果
不透明度效果以不透明度呈现源。此效果对于使源半透明非常有用类似于淡入/淡出序列。
常用函数
setOpacity设置透明度该值应在 0.0 到 1.0 的范围内其中 0.0 表示完全透明1.0 表示完全不透明setOpacityMask设置不透明度覆盖允许您将不透明度应用于元素的某些部分默认情况下没有不透明度蒙版
void MyItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
{QGraphicsOpacityEffect * effectnew QGraphicsOpacityEffect;effect-setOpacity(0.5);//设置透明度QPointF pointmapToScene(x,y);QPointF point2mapToScene(xradius,yradius);QLinearGradient alphaGradient(point,point2);//创建一个渐变alphaGradient.setColorAt(0.0, Qt::transparent);alphaGradient.setColorAt(0.5, Qt::black);alphaGradient.setColorAt(1.0, Qt::transparent);effect-setOpacityMask(alphaGradient);//添加不透明蒙版setGraphicsEffect(effect);
}起始状态 点击之后