Ich habe eine Listview und ein Textfeld darunter. Ich möchte, dass die Höhe der Listenansicht in Bezug auf die Größe der Textfläche zunimmt oder abnimmt. Ich habe versucht, den unteren Teil von Listview an den oberen Bereich des Textarea zu verankern, hat nicht funktioniert. Dann habe ich versucht, den oberen Teil des Textfelds am Ende der Listenansicht zu verankern, auch nicht. Versuchte beide zusammen, beides nicht. Jedesmal, es gibt die Laufzeitfehler/Warnung von Bindungsschleife erfasst für Eigenschaft „Höhe“ ich dies auch Spielraum in TextArea- der versucht, aber ich habe das gleiche Laufzeitfehler/Warnung und keine Ergebnisse:QML ändern Höhe des Artikels in Bezug auf Höhenänderung des Elements darunter
onTextChanged: {
listView.anchors.bottomMargin = height;
}
Wie kann Ich erreiche das?
Hier ist der Code:
ListView{
id: listView
// anchors.fill: parent
anchors.top: parent.top
anchors.left: parent.left
anchors.right: parent.right
anchors.bottom: parent.bottom
anchors.bottomMargin: 0
anchors.margins: 10
delegate: ChatMessageItem{}
model: listModel
spacing: 15
}
Rectangle{
id: rectInput
height: childrenRect.height + 6
width: parent.width
// anchors.top: listView.bottom
anchors.bottom: parent.bottom
color: "#BDC3C7"
TextArea{
id: tMsg
placeholderText: qsTr("Enter message")
width: parent.width - 30
anchors.bottom: parent.bottom
anchors.bottomMargin: 2
anchors.left: parent.left
anchors.leftMargin: 1
focus: true
wrapMode: TextArea.Wrap
background: Rectangle {
border.color: "#BDC3C7"
border.width: 2
color: "#ECF0F1"
}
onTextChanged: {
listView.anchors.bottomMargin = height;
}
}
}
Sie sollten Ihre Antwort nicht gelöscht haben. Es hat für mich funktioniert. Das Problem war, dass meine Listenansicht nicht nach unten scrollte, was mich denken ließ, dass es nicht funktionierte. Das habe ich behoben. Ich bekomme jedoch immer noch den Binding-Loop-Fehler. @ coyotte508 –
@ coyotte508 vielleicht kann ich deine Antwort noch einmal sehen, um das Binding Loop-Problem zu sehen und akzeptiere es auch. –