本文主要是介绍QML 圆角矩形 radius clip 对子组件无效的问题解决方法(转载),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
原文链接:https://blog.csdn.net/Likianta/article/details/110703819
本文实现前后效果对比:
正文
根据官方的描述, 考虑到性能表现, 父组件的 radius, clip 对子组件是无效的, 也就是说如果外部矩形设置圆角矩形, 对内部矩形的裁剪是无效的, 如下图所示:
下面介绍一种最简单的方案, 使用 layer 属性来实现圆角区域的裁剪.
import QtQuick 2.0
import QtGraphicalEffects 1.0 // 导入这个模块Rectangle {id: _rectwidth: 100height: 100// 在父组件中设置 layer 属性的 enabled 和 effect 子属性layer.enabled: truelayer.effect: OpacityMask {maskSource: Rectangle {width: _rect.widthheight: _rect.heightradius: _rect.radius}}Rectangle {id: _childRectwidth: parent.widthheight: 30color: 'blue'}
}
实现效果如下:
这篇关于QML 圆角矩形 radius clip 对子组件无效的问题解决方法(转载)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!