我有一个Checkbox
和onCheckedChanged
处理程序,我想要的是,当选中Checkbox
时,下拉一个包含多个文本和文本字段的菜单。我有以下代码:
CheckBox {
id: box
onCheckedChanged: {
// TODO here to dropdown a menu with settings
}
}
我有以下文字和文字字段:
Component {
id: label
Text {
color: "red"
antialiasing: true
smooth: true
}
}
我是QML的新手,请耐心等待。
答案 0 :(得分:1)
你没有真正说出这个菜单的位置,是否浮动,或者只是出现可能会取代视图中的其他元素。无论如何,为了回答您的问题,您可以通过将“菜单”的zigzag
设置为零来实现您的要求,然后在选中height
时将其设置为您想要的高度成为。要使菜单变得平滑,您可以使用CheckBox
。
您可以将NumberAnimation
广告单元更改为:
onCheckedChanged()
并添加以下内容,作为菜单元素的子项:
onCheckedChanged: {
menu.height = checked ? 100 : 0
}
使菜单的Behavior on height { NumberAnimation {...} }
在一段时间内从0增加到100,以使其平稳增长。
我更喜欢的另一种方法是使用State和Transition(而不是行为)。
以下是“菜单”的示例,当选中height
时,该菜单将从CheckBox
下方滑出:
CheckBox
我希望这能回答你的问题。