修复项目组件中图像的大小

Posted

技术标签:

【中文标题】修复项目组件中图像的大小【英文标题】:Fixing size of image within an item component 【发布时间】:2019-04-04 15:00:11 【问题描述】:

我想固定一个项目中图像的大小,并在它的右侧有一个更高的矩形。

这是我的组件的声明

import QtQuick 2.9
import QtQuick.Controls 2.5

Item 
    id: button
    width: 100
    height: 200
    signal clicked

    Image 
        id: backgroundImage
        anchors.fill: parent
        source: (button.enabled ? "images/simulation.png" : "images/simulation.png")
        width: 100
        height: 100
    

    Rectangle 
        color: "#22add8"
        anchors.left: backgroundImage.right
        anchors.leftMargin: 10
        width: 5
        height: 200
    

    //Mouse area to react on click events
    MouseArea 
        anchors.fill: button
        onClicked: 
            console.log("clicked")
            button.clicked()
        
        onPressed: 
            console.log("pressed")
            backgroundImage.source = "images/simulation.png" 
        onReleased: 
            console.log("released")
            backgroundImage.source = (button.enabled ? "images/simulation.png" : "images/simulation.png")
        
    

图像总是占据项目的高度

如何固定图片的大小?

【问题讨论】:

【参考方案1】:

这是罪魁祸首:

Image 
    // ...
    anchors.fill: parent    //  <-- THIS
    // ...

这会绑定图像的区域以填充其父级。删除该行,您应该会得到一个 100x100 的固定图像。

【讨论】:

以上是关于修复项目组件中图像的大小的主要内容,如果未能解决你的问题,请参考以下文章

根据列表中图像的数量按比例调整动态图像列表的大小

如何修复这些约束,使文本出现在 UITableViewCell 中图像的右侧?

将反应项目部署到 github 页面面临公共文件夹中图像的问题

为啥 Qt 中图像的大小会增加?

获取 ImageView 中图像的显示大小

如何更改启动画面中图像的大小?