首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QT5.7 QML快速半透明矩形,一侧为圆角

问QT5.7 QML快速半透明矩形,一侧为圆角
EN

Stack Overflow用户
提问于 2016-11-01 04:46:58
回答 1查看 4.4K关注 0票数 6

我想要一个使用Quick的半透明矩形形状,但只有一侧的圆角。

这是我想要的矩形的形状。如果它看不透,我可能只会重叠两个矩形,一个圆角和一个没有。然而,由于重叠变得更深,这在透明度上不起作用。

代码语言:javascript
复制
     ----------|
   /           |
 /             | 
|              |
|              |
|              |
 \             | 
   \           |   
     ----------|

有人有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-01 08:46:06

您可以使用剪裁 (请参阅绩效文档)切断单个圆角矩形的角:

代码语言:javascript
复制
import QtQuick 2.5
import QtQuick.Window 2.2

Window {
    width: 300
    height: 300
    visible: true

    Item {
        width: 100
        height: 100
        anchors.centerIn: parent
        clip: true

        Rectangle {
            anchors.fill: parent
            anchors.rightMargin: -radius
            radius: 10
            color: "navajowhite"
            opacity: 0.5
        }
    }
}

您还可以使用层来避免重叠的透明度问题:

代码语言:javascript
复制
import QtQuick 2.5
import QtQuick.Window 2.2

Window {
    width: 300
    height: 300
    visible: true

    Item {
        width: 100
        height: 100
        opacity: 0.5
        layer.enabled: true
        anchors.centerIn: parent

        Rectangle {
            color: "navajowhite"
            radius: 10
            anchors.fill: parent
        }
        Rectangle {
            color: "navajowhite"
            anchors.fill: parent
            anchors.leftMargin: 10
        }
    }
}

正如@folibis所提到的,您也可以使用画布,对于画布,已经有了类似的回答。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40354302

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档