J'ai un problème avec le comportement de la taille de la fenêtre contextuelle à l'aide de Qt Quick Controls 2. Lorsque je place ListView en tant qu'élément contentItem pour une fenêtre contextuelle, la taille de la fenêtre contextuelle est zéro. Un exemple de code qui reproduit le problème:Qt contrôles rapides Problème de taille ListView
import QtQuick 2.4
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.3
ApplicationWindow {
id: window
visible: true
width: 800
height: 600
Button {
text: "open popup"
onClicked: popup.open()
}
Popup {
id: popup
x: (window.width - width)/2
y: window.height/6
width: contentWidth
height: contentHeight
contentItem: ListView {
width: contentWidth
height: contentHeight
model: ListModel {
ListElement {
name: "Apple"
cost: 2.45
}
ListElement {
name: "Orange"
cost: 3.25
}
ListElement {
name: "Banana"
cost: 1.95
}
}
delegate: RowLayout {
Label {
text: name
}
Label {
text: cost
}
}
}
}
}
Comment faire pour adopter la taille de ListView?
Qu'est-ce que 'contentWidth' /' contentHeight'? – folibis
Selon la documentation: "Cette propriété contient la largeur du contenu, elle est utilisée pour calculer la largeur implicite totale du Popup." –
Si vous voulez que votre fenêtre popup soit de la même taille que 'contentItem', ne faites rien. Selon les docs: 'Si un seul élément est utilisé dans un popup, il sera redimensionné pour s'adapter à la taille implicite de son élément contenu» – folibis