2

我正在为体育博彩创建一个 QML 应用程序。

我有一个 StackView 显示各种竞争和市场。

以前,我使用一个视图来显示各种足球比赛,然后根据我得到的数据,我只是在这个视图中更改了模型。

我使用 StackView 向用户推送和弹出各种视图。

我现在想将这些视图动态分配到堆栈上:

StackView {
    id: stack

    delegate: StackViewDelegate {
        function transitionFinished(properties) {
            properties.exitItem.opacity = 1
            properties.exitItem.visible = false
        }

        pushTransition: StackViewTransition {
            PropertyAnimation {
                target: enterItem
                property: "opacity"
                from: 0
                to: 1
            }
            PropertyAnimation {
                target: exitItem
                property: "opacity"
                from: 1
                to: 0
            }
        }
    }
}

还有一个尚未分配的组件:

Component {
    id: groupComponent

    GroupView {
        onCompetitionClicked: {
            root.showCompetition(competitionId);
        }
    }
}

Component {
    id: competitionComponent

    CompetitionView {
            // Blabla
    }
}

单击此组件时,showCompetition 会将新视图推送到堆栈中:

    function showCompetition(competitionId) {

            var view = competitionComponent.createObject();
            view.loadCompetition(competitionId);

            stack.push( {item:view, destroyOnPop:true});
    }

所以现在发生了(截图)

在我将其更改为动态分配之前(请注意,我已经硬编码了一个用于调试的标题): 在此处输入图像描述

在我更改为动态分配后(注意字体看起来更厚?): 在此处输入图像描述

点击后左右一大片: 在此处输入图像描述

回到第一页(注意即使是硬编码的字符串也被混淆了): 在此处输入图像描述

显然字符串出了点问题,因为数字数据似乎相同,并且我收到的数据仍然正确,因为顶部的面包屑仍然显示正确的字符串。

到底是怎么回事?

4

0 回答 0