当前位置: 代码迷 >> QT开发 >> QML listView delegate,该如何处理
  详细解决方案

QML listView delegate,该如何处理

热度:893   发布时间:2016-04-25 03:06:54.0
QML listView delegate
QML,  ListView 的 delegate中能否返回不同的控件

例如:  一个 Row = 1; Column = 5 的ListView,  其delegate能否在第 0、2、4行返回ComboBox, 1、3行返回TextInput
------解决思路----------------------
当然可以,你在delegate中判断index即可。
------解决思路----------------------
自定义委托能够对视图进行完全的控制,可以小ks,尽管去用吧

------解决思路----------------------
可以,根据不同列返回不同的代理,相应的data()和setData()等函数中也要根据列来进行判断。
------解决思路----------------------
给个最简单的吧,通过隐藏来控制。当然复杂一点的也可以动态创建,比如在 Item 内使用 Component.onCompleted信号处理器。

ListView {
    delegate: Item {
        TextInput {
             visible: index % 2 == 0;
        }
        ComboBox {
             visible: index % 2 == 1;
        }
    }
}
  相关解决方案