QML,如何分辨缩放后的项目渲染大小

时间:2018-07-19 18:58:08

标签: qt qml qtquick2

所以我在Flickable中有一个Image。我想知道应用比例后的图像大小,以便可以将其分配给Flickable的contentWidth和contentHeight。缩放后是否可以获取尺寸?

Flickable{
    contentWidth: target.width
    contentHeight: target.height
    Image{
        id: target
        horizontalAlignment: Image.AlignLeft
        verticalAlignment: Image.AlignTop
        fillMode: Image.PreserveAspectFit
        scale: slider_bar.value
        source: "/image.png"
    }
}
Slider{
    id: slider_bar
    from: 0 
    to : 2
    value: 1
}

另一个示例是我想将rect_1增大,并将rect_2保持在右边。运行以下命令时,rect_1会调整大小,但rect_2不会移动。

Rectangle{
    id:rect_1
    height: 100
    width: 100
    scale: slider_bar.value
    transformOrigin: Item.TopLeft
    color: "green"
}

Rectangle{
    id: rect_2
    anchors.left: rect_1.right
    height: 100
    width: 100

    color:"red"
}

Slider{
    id: slider_bar
    from: 0
    to : 2
    value: 1
}

我可以做类似的事情

ScaledItem.qml

Item{
    height: implicitHeight
    width:implicitWidth
    implicitHeight: childrenRect.height * scale
    implicitWidth: childrenRect.width * scale
    scale:1
}

然后

ScaledItem{
    scale: slider_bar.value
    transformOrigin: Item.TopLeft
    id:rect_1

    Rectangle{
        height: 100
        width: 100
        color: "green"
    }

}
Rectangle{
    anchors.left: rect_1.right
    height: 100
    width: 100

    color:"red"
}

Slider{
    id: slider_bar
    from: 0
    to : 2
    value: 1
}

0 个答案:

没有答案