Qt 5 Compatibility APIs:Graphical Effects
QtGraphical Effects 模块旨在确保与为 Qt 5 编写的应用程序的兼容性。
QtGraphical Effects 模块提供了一组 QML 类型,用于为用户界面添加视觉效果出众且可配置的特效。特效是可作为 UI 组件添加到Qt Quick 用户界面的视觉元素。
注意:由于 QtGraphical Effects 模块在效果堆叠时存在性能限制,因此其主要目的是为了与 Qt 5 应用程序保持兼容性。 我们建议在编写新代码时,采用 Qt 6 中引入的全新特效解决方案之一。对于典型的 UI 特效,Qt Quick 提供了MultiEffect ,该组件可在单次处理中应用多种特效。对于该组件未涵盖的高级用例,可使用 Qt Quick Effect Maker 工具可用于自定义并精确调整您所需的着色器效果。
使用 QtGraphical Effects
要导入 QtGraphical Effects 类型,请通过在 QML 文件中添加以下语句来包含 QtGraphical Effects 模块:
import Qt5Compat.GraphicalEffects要使用这些效果,只需在 QML 场景中添加特定的效果声明,并配置效果属性即可。 效果具有一个或多个源属性,用于指定要应用该效果的视觉输入。随后,经过处理的视觉输出将显示在效果项本身中。源项类型可以是任何 QML 类型,甚至是视频或另一个效果。将多个效果串联起来是一种简单的方法,可以创建更令人印象深刻的输出效果。
Graphical Effects以下列表展示了 Qt XML-ph-0000@deepl.internal 中各类效果的功能划分。
注意: 当使用Qt Quick 的software 后端运行时,效果 不可用。有关Qt Quick 场景图后端的更多信息,请参阅《场景图适配》。
注意: 诸如GaussianBlur 之类的运行时生成的 特效会使用QTemporaryFile 将着色器文件存储在临时存储中,因此需要可写入的文件系统。
混合
使用混合模式合并两个源项 |
颜色
调整亮度和对比度 | |
通过应用叠加颜色来更改源项的颜色 | |
在 HSL 色彩空间中设置颜色 | |
降低颜色的饱和度 | |
调整源项目的亮度 | |
在 HSL 色彩空间中调整源对象的颜色 | |
调整 RGBA 色彩空间中的颜色级别 |
渐变
绘制锥形渐变 | |
绘制线性渐变 | |
绘制径向渐变 |
变形
根据给定的位移图移动源项目的像素 |
投影
在源项目后面生成柔和的阴影 | |
在源对象内部生成彩色且模糊的阴影 |
模糊
对一个或多个源项目应用快速模糊效果 | |
应用更高质量的模糊效果 | |
应用强度随时间变化的模糊效果 | |
反复进行模糊处理,产生强烈的模糊效果 |
运动模糊
对指定方向应用模糊效果 | |
在项目中心点周围以圆形方向应用方向性模糊 | |
应用朝向源项目中心点的定向模糊效果 |
光晕
生成源对象的模糊且着色图像,并将其置于原始图像之后,营造出源对象正在发光的效果 | |
生成一个模糊且着色的矩形,营造出源图像仿佛在发光的效果 |
蒙版
使用另一个项目对源项目进行蒙版处理 | |
使用另一个对象对源对象进行蒙版处理,并应用阈值 |
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.