有没有办法为不同的角指定不同的半径

时间:2016-10-10 12:14:31

标签: qt qml

任何人都可以帮我解决如何围绕一个矩形的一个角,如附图所示,其中红色矩形是我的子矩形。

实际上,我有一个矩形,其中所有四个角都是圆角(半径为10)。现在,我想在其中绘制一个新的矩形,并期望只有那个特定的角应该是圆形的,它接触父母的圆角。

enter image description here

Rectangle
{
    id: parent
    radius: 10
    width: 168
    height: 168
    visible: true
    color: "black"

    Rectangle
    {
        id: child
        width: 100
        height: 40
        color: "red"
    }
}

我尝试在子项中添加clip属性但没有发生任何事情。

3 个答案:

答案 0 :(得分:2)

没有库存{

  

所有4个角使用相同的半径;目前没有办法   为不同的角指定不同的半径。

在C ++中,您可以指定水平和垂直半径,但不能指定每个角半径。如果您需要此类功能,则必须使用几何节点和所有。

实现自己的Rectangle

您想要在图像中实现的结果也可以通过剪切来实现,但不幸的是,在QML剪辑中仅适用于项目的矩形,而不适用于实际的项目几何。

使用BorderImage元素实现所需效果最容易。它可以为每个角指定不同的子图像:

enter image description here

答案 1 :(得分:2)

这是一个简单的例子。 它在左上角是圆形的,但很容易调整到任何其他角落。此解决方案仅支持一个角落,但它可能足够您? 更多的角落更复杂,所以再问一下你是否还需要它们。

PUT /dogs?where[color]=blue   '{"color":"orange"}'

答案 2 :(得分:0)

Rectangle {
    id: clipper
    width: 10
    height: 10
    color: "transparent"
    clip: true

    Rectangle {
        id: clipped
        width: 30
        height: 30
        radius: 8
        color: "red"
    }
}