Qt Quick里的图形效果――混合(Blend)(二)

2015-01-24 13:18:31 · 作者: · 浏览: 9
a { anchors.fill: parent; onClicked: { wrapper.ListView.view.currentIndex = index; blender.mode = name; } } } highlight: Rectangle { width: parent.width; color: "lightblue"; } model: modesModel; } } Image { id: bug; anchors.top: blendLabel.bottom; anchors.topMargin: 10; anchors.left: blendModes.right; anchors.leftMargin: 10; source: "bug.jpg"; sourceSize: Qt.size(300, 300); smooth: true; visible: false; } Image { id: bufferFly; source: "butterfly.png"; sourceSize: Qt.size(300, 300); smooth: true; visible: false; } Blend { id: blender; source: bug; anchors.fill: bug; foregroundSource: bufferFly; mode: "subtract"; } ListModel { id: modesModel; ListElement { name: "subtract"; } ListElement { name: "normal"; } ListElement { name: "addition"; } ListElement { name: "average"; } ListElement { name: "colorBurn"; } ListElement { name: "color"; } ListElement { name: "colorDodge"; } ListElement { name: "darken"; } ListElement { name: "darkerColor"; } ListElement { name: "difference"; } ListElement { name: "divide"; } ListElement { name: "exclusion"; } ListElement { name: "hardLight"; } ListElement { name: "hue"; } ListElement { name: "lighten"; } ListElement { name: "lighterColor"; } ListElement { name: "lightness"; } ListElement { name: "multiply"; } ListElement { name: "negation"; } ListElement { name: "saturation"; } ListElement { name: "screen"; } ListElement { name: "softLight"; } } }
简单的分析一下代码。

返回

图 1 右上角有一个 “Back” 按钮,点击后会发射一个 back() 信号。 back 信号用来通知我们在“Qt Quick里的图形效果(1)”中提到的 main.qml :用户要从当前示例返回了。 main.qml 收到 back 信号时,会销毁动态创建的示例组件。

以后我们看到 ColorExample 等等针对某类效果设计的示例,都使用同一种策略。

混合

混合模式列表使用 ListView 的展示,ListElement 只有一个角色――name,它的值就是混合模式的名字。当用户点击列表中的某个条目时, delegate 的 MouseArea 的 onClicked 信号处理器改变 Blend 元素的 mode 属性。


好了,这次就到这里,每种混合模式效果如何,还请运行示例实际看一下。下次我们会介绍颜色(Color)效果。


博客之星评选,点击投我一票,谢谢。投过了也可以点哦,每天都可以投投一票。

--------

回顾一下我的Qt Quick系列文章:

    Qt Quick 简介QML 语言基础Qt Quick 之 Hello World 图文详解Qt Quick 简单教程Qt Quick 事件处理之信号与槽Qt Quick事件处理之鼠标、键盘、定时器Qt Quick 事件处理之捏拉缩放与旋转
    Qt Quick 组件与对象动态创建详解
    Qt Quick 布局介绍Qt Quick 之 QML 与 C++ 混合编程详解Qt Quick 图像处理实例之美图秀秀(附源码 下载)Qt Quick 之 PathView 详解Qt Quick实例之挖头像Qt Quick综合实例之文件查看器Qt Quick调试之显示代码行号Qt Quick实现的涂鸦程序Qt Quick播放GIF动画Qt Quick 中的 drag and drop(拖放)Qt Quick里的AnimatedSprite的用法Qt Quick里的粒子 系统Qt Quick实现的疯狂算数游戏Qt Quick里的图形效果(Graphical Effects)