qml ComboBox 如何触发下拉事件
1个回答
展开全部
试了一下,没有办法.
只有当current 改变的时候才有信号. 想在ComboBox上覆盖一层MouseArea,
但是ComboBox没有打开列表的方法..
ComboBox {
currentIndex: 2
model: ListModel {
id: cbItems
ListElement { text: "Banana"; color: "Yellow" }
ListElement { text: "Apple"; color: "Green" }
ListElement { text: "Coconut"; color: "Brown" }
}
width: 200
onCurrentIndexChanged: console.debug(cbItems.get(currentIndex).text + ", " + cbItems.get(currentIndex).color)
}
只有当current 改变的时候才有信号. 想在ComboBox上覆盖一层MouseArea,
但是ComboBox没有打开列表的方法..
ComboBox {
currentIndex: 2
model: ListModel {
id: cbItems
ListElement { text: "Banana"; color: "Yellow" }
ListElement { text: "Apple"; color: "Green" }
ListElement { text: "Coconut"; color: "Brown" }
}
width: 200
onCurrentIndexChanged: console.debug(cbItems.get(currentIndex).text + ", " + cbItems.get(currentIndex).color)
}
追问
谢谢~ 后来查看了ComboBox的源码,里边是用menu实现的,有个show()方法,改了一下可以实现了,不过还有很多其他功能想实现,ComboBox 这个控件不合适,换了其他实现方式
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询