0
Ich habe ein Problem mit Popup-Fenstergröße Verhalten mit Qt Quick Controls 2. Wenn ich ListView als contentItem für Popup-Fenster setzen, ist Popup-Fenstergröße Null. Beispielcode, der das Problem reproduziert:Qt Quick-Steuerelemente ListView Größe Problem
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
}
}
}
}
}
Wie Popup auf die Größe von ListView zu übernehmen?
Was ist 'contentWidth' /' contentHeight'? – folibis
Gemäß der Dokumentation: "Diese Eigenschaft enthält die Breite des Inhalts. Es wird zur Berechnung der gesamten impliziten Breite des Popup verwendet." –
Wenn Sie möchten, dass Ihr Popup-Fenster dieselbe Größe hat wie 'contentItem', tun Sie einfach nichts. Laut der Dokumentation: 'Wenn nur ein einzelnes Element in einem Popup verwendet wird, wird es an die implizite Größe des enthaltenen Elements angepasst. – folibis