【问题标题】:How to push into a StackView recursively QML?如何以递归方式将 QML 推入 StackView?
【发布时间】:2017-12-28 11:26:46
【问题描述】:

我有一个StackView 和一个我想在每次单击按钮时推送的项目。它仅在我第一次按下按钮时起作用,我可以理解父子关系存在问题。但是如何解决呢?

ma​​in.qml

import QtQuick 2.9
import QtQuick.Window 2.2
import QtQuick.Controls 1.4

Window {
    visible: true
    width: 640
    height: 480

    StackView{
        id: stackView
        anchors.fill: parent

        initialItem: Item {
            width: parent.width
            height: parent.height
            FirstLevel {
                myModel: 5
                onButtonClicked: {
                    stackView.push("qrc:/FirstLevel.qml", {myModel: 5})
                }
            }
        }
    }
}

FirstLevel.qml

import QtQuick 2.0
import QtQuick.Controls 1.4

Column {
    property var myModel

    signal buttonClicked()

    Repeater {
        model: myModel

        Button {
            text: model.index
            onClicked: {
                buttonClicked()
            }
        }
    }
}

更新我

每次单击FirstLevel.qml 项目中的按钮时,我都想将FirstLevel.qml 项目推入堆栈视图。

【问题讨论】:

  • 更好地解释你想要什么。
  • @eyllanesc 请查看我的更新

标签: qt qml stackview


【解决方案1】:

您必须在 FirstLevel.qml 中进行推送:

ma​​in.qml

import QtQuick 2.9
import QtQuick.Window 2.2
import QtQuick.Controls 1.4

Window {
    visible: true
    width: 640
    height: 480

    StackView{
        id: stackView
        anchors.fill: parent

        initialItem: Item {
            width: parent.width
            height: parent.height
            FirstLevel {
                myModel: 5
            }
        }
    }
}

FirstLevel.qml

import QtQuick 2.0
import QtQuick.Controls 1.4

Column {
    property var myModel
    Repeater {
        model: myModel
        Button {
            text: model.index
            onClicked: {
                stackView.push("qrc:/FirstLevel.qml", {myModel: myModel})
            }
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多