标题:QML实现阴影效果-支持颜色绘制阴影以及图片背景九宫格绘制
作者:bxlkm
日期:2015-01-23 13:28
内容:
主窗体的边框圆角设置朋友们好,我是一个不经常写帖子的人,刚开始学习QML编程,总想实现大家所说的 窗体透明、窗体阴影、窗体拖拽、窗体边缘缩放、窗体动态拉伸布局等等效果,当然也包含动画效果哦,有资料的朋友请赐教。
废话不多说了直接上代码,我根据网上的资料写了个QML组件,就是给窗体绘制阴影和图片背景的九宫格设置。对了,还可以设置边框哦。
主要导出的变量为:
property alias mainrectradius: mainRect.radius //主窗体的边框圆角设置
property alias mainrectborder: mainRect.border //主窗体的边框宽度和颜色设置
property alias shadowhoffset: rectShadow.horizontalOffset //水平阴影偏移量
property alias shadowvoffset: rectShadow.verticalOffset //垂直阴影偏移量
property alias shadowradius: rectShadow.radius //阴影绘制的半径
property alias shadowsamples: rectShadow.samples //半径的2倍为了更好的渲染效果
property alias shadowcolor: rectShadow.color//阴影的颜色
property alias shadowsmooth: rectShadow.smooth//反锯齿绘制
property alias shadowimagesource: shdowimage.source//图片源
property alias shadowimagecorner: shdowimage.border//图片九宫格绘制
property alias shadowimagehorizontalTileMode: shdowimage.horizontalTileMode//图片九宫格绘
制水平拉伸模式
property alias shadowimageverticalTileMode: shdowimage.verticalTileMode//图片九宫格绘制垂
直拉伸模式
请查看附件,目前不知道怎么在QML里面实现以下功能:
1、透明以后鼠标可以穿透到最下面
2、阴影边缘怎么可以穿透到最下面
3、对窗体进行边缘拉伸缩放
#1 [18600344448 01-23 17:10]
拖动缩放可绑定鼠标移动事件,自己改变大小实现
#2 [bxlkm 01-23 17:30]
谢谢楼上指点,我想在QML里实现 不用写QT代码。QML的方法里我正在尝试,不知道能否满足。
#3 [彩阳 01-23 19:38]
这个例子我看不到任何阴影呢。
#4 [armygan 09-20 10:40]
哥,请教一下,使用基本的绘制函数,怎么实现内阴影呢?