Qt QML,如何在缩放后告诉项目渲染大小

Qt QML,如何在缩放后告诉项目渲染大小,qt,qml,qtquick2,Qt,Qml,Qtquick2,所以我在Flickable中有一个图像。我想知道应用缩放后图像的大小,以便将其指定给Flickable的contentWidth和contentHeight。是否有一种方法可以在应用刻度后获得尺寸 Flickable{ contentWidth: target.width contentHeight: target.height Image{ id: target horizontalAlignment: Image.AlignLeft

所以我在Flickable中有一个图像。我想知道应用缩放后图像的大小,以便将其指定给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
}
然后


myImage.width*myImage.scale
不起作用?我想知道是否有一种方法可以获得图像或项目的渲染大小,而不必执行item.width*item.scale。比如有item.renderedWidth。图像有一个绘画宽度,这是我真正需要的。所以contentWidth:myImage.paintedWidth*myImage.scale在使用PreserveApectFit时。另一种操作是使用transform:Scale{xScale:2;yScale:2},因此在本例中,我不知道渲染的最终高度和宽度,但在使用myImage.width*myImage.Scale时,我不知道。
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
}