我最近使用了很多组合框但是在特定ComboBox
的弹出窗口中存在一个问题,我无法找到以下代码的确切问题:
import QtQuick 2.9
import QtQuick.Window 2.2
import QtQuick.Controls 2.2
Window {
visible: true
width: 640
height: 480
title: qsTr("Hello World")
ComboBox{
id:comboNum
width:parent.width * 0.30
height:parent.height * 0.15
model: ["12","23","78","23","45","70"]
currentIndex: 0
popup: Popup{
id:popup
y: comboNum.height - 1
width: comboNum.width
height: comboNum.height * 2
padding: 1
contentItem: ListView {
id: listview
implicitHeight: popup.height
clip: true
model:comboNum.delegateModel
currentIndex: comboNum.highlightedIndex
interactive: true
highlightMoveDuration: 0
boundsBehavior: ListView.StopAtBounds
ScrollBar.vertical:ScrollBar {}
}
}
}
}
弹出窗口没有显示所有元素,我使用的是QT 5.9.1。
答案 0 :(得分:1)
查看customisation docs,我可以看到它根据弹出窗口是否可见来有条件地设置模型。为您的代码片段执行相同的操作会使它对我有用:
model: popup.visible ? comboNum.delegateModel : null
然而,Default style implementation of ComboBox
并没有这样做,所以我不确定为什么在你的情况下这是必要的。