scrollview QML中的多个网格视图

时间:2015-06-16 09:16:50

标签: qt qml

我有一个scrollview,我想在其中放置两个具有相同委托的网格视图,但具有不同的模型。但是,我希望他们能够分享"突出显示功能,虽然我希望模型以不同方式突出显示。这可能吗?现在,网格视图在滚动视图内重叠。

<input type="text" data-bind="
    textInput: MyText,
    event: { 
        keyup: function(data, event) { console.log(data.MyText()); }
    }" />


<span data-bind="text: MyText" />

1 个答案:

答案 0 :(得分:0)

当您在第一个模型的最后一个项目和最后一个模型的第一个项目时,可以使用KeyNavigation附加属性覆盖向上/向下按钮。

使用ListViews的示例:

Column {
    anchors.fill: parent
    ListView{
        id: list1
        focus: true
        onFocusChanged: focus ? currentIndex = model1.count-1 : currentIndex = -1
        height: contentHeight
        width: parent.width
        model: model1
        delegate: Text { text: name }

        highlight: Rectangle { color: "red"; radius: 5 }
        KeyNavigation.down: list2
        onCurrentIndexChanged: {
            if (currentIndex == model1.count-1)
                KeyNavigation.priority=KeyNavigation.BeforeItem
            else
                KeyNavigation.priority=KeyNavigation.AfterItem
        }
    }
    ListView {
        id:list2
        focus: false
        onFocusChanged: focus ? currentIndex = 0 : currentIndex = -1
        currentIndex: -1
        model: model2
        height: contentHeight
        width: parent.width
        delegate: Text { text: name }
        highlight: Rectangle { color: "blue"; radius: 5 }
        KeyNavigation.up: list1
        onKeyNavigationWrapsChanged: console.log("k")
        onCurrentIndexChanged: {
            if (currentIndex == 0)
                KeyNavigation.priority=KeyNavigation.BeforeItem
            else
                KeyNavigation.priority=KeyNavigation.AfterItem
        }
    }
}

在这个例子中,它看起来像是一个单一的模型,但它们将使用不同的荧光笔。