• 9999阅读
  • 4回复

[讨论]QML实现阴影效果-支持颜色绘制阴影以及图片背景九宫格绘制 [复制链接]

上一主题 下一主题
离线bxlkm
 

只看楼主 倒序阅读 楼主  发表于: 2015-01-23

主窗体的边框圆角设置朋友们好,我是一个不经常写帖子的人,刚开始学习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//图片九宫格绘制垂
直拉伸模式

请查看附件阴影拖住实现 PeraOS_QmlTest.zip (21 K) 下载次数:80 ,目前不知道怎么在QML里面实现以下功能:
1、透明以后鼠标可以穿透到最下面
2、阴影边缘怎么可以穿透到最下面
3、对窗体进行边缘拉伸缩放




离线18600344448

只看该作者 1楼 发表于: 2015-01-23
拖动缩放可绑定鼠标移动事件,自己改变大小实现
离线bxlkm

只看该作者 2楼 发表于: 2015-01-23
谢谢楼上指点,我想在QML里实现 不用写QT代码。QML的方法里我正在尝试,不知道能否满足。
离线彩阳

只看该作者 3楼 发表于: 2015-01-23
这个例子我看不到任何阴影呢。
上海Qt开发联盟,热忱地欢迎你的加入!
离线armygan

只看该作者 4楼 发表于: 2015-09-20
哥,请教一下,使用基本的绘制函数,怎么实现内阴影呢?
快速回复
限100 字节
 
上一个 下一个