gpt4 book ai didi

QT 5.7 QML 快速半透明矩形,一侧圆角

转载 作者:行者123 更新时间:2023-12-02 17:15:53 30 4
gpt4 key购买 nike

我想要一个使用 Qt Quick QML 的半透明矩形形状,但仅在一侧具有圆角。

这就是我想要的矩形的形状。如果它不透明,我可能只会重叠 2 个矩形,一个有圆角,一个没有圆角。然而,这不适用于透明度,因为重叠部分会变得更暗。

     ----------|
/ |
/ |
| |
| |
| |
\ |
\ |
----------|

有人有什么想法吗?

最佳答案

您可以使用clipping (参见 performance docs )切除单个圆角矩形的角:

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
}
}
}

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

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提到的,您还可以使用Canvas ,已经有一个类似的 answer .

关于QT 5.7 QML 快速半透明矩形,一侧圆角,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40354302/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com