0

我在 Qt Quick 应用程序中有一个作为 QML 组件的 Widget,它将用于各种屏幕以显示内容。

我如何使用这个特定的 QML 组件来根据其中的项目进行调整。

4

2 回答 2

0

如果它是通用的Item,则不能:您必须手动设置容器的大小以适应其内容。

唯一适合其内容的 QML 组件是Row,ColumnGrid元素。

于 2012-10-22T08:13:56.473 回答
0

来晚了,但如果你想要一个可更新的组件,你可以将组件的模型设置为任何列表模型,例如:

Component{
    id:comp1
    model:model1
}

ListModel {
            id: model1
            ListElement{
                name:"a"
            }

            ListElement{
                name: "b"
            }
        }

        Component {
            id: fruitDelegate
            Row {
                spacing: 10
                Text { text: name }

            }
        }

        ListView {
            id:listView1
            anchors.fill: parent
            model: fruitModel
            delegate: fruitDelegate
            contentWidth: Screen.width
        }

然后您可以随意更新列表视图

TextInput{
    id: text_input1
    width:parent.width * 0.80

    text:"waddup?"
}
Button {
    id: button2

    anchors.left: text_input1.right
    text: qsTr("Send")
    onClicked: {

        listView1.model.append( {name: text_input1.text, colorCode:"Red" });

        /*text_input1.text = ""*/
    }
}
于 2016-01-30T20:25:36.950 回答