当前位置: 代码迷 >> QT开发 >> qml loader的有关问题
  详细解决方案

qml loader的有关问题

热度:406   发布时间:2016-04-25 03:08:27.0
qml loader的问题
我main.qml中见用Loader加载了 Mylable.qml    然后通过点击事件轮流加载Mylable.qml 和Mylabel2.qml。现在的问题是:在点击时间的过程中,我在外面直接修改了Mylabel.qml的内容,程序Loader的也是最开始的Mylabel.qml,而不是外面被修改过的。我现在要外面修改了,里面点击后重新加载的也是被修改后的。
代码:
main.qml:
import QtQuick 2.0
Rectangle {
    width: 360
    height: 360
    Loader{
        id:myload
        asynchronous : false
        source:"Mylabel.qml"
    }

    property int count: 0
    MouseArea {
        anchors.fill: parent
        onClicked: {
            myload.source = "";
            if(count%2 === 0) {
                myload.source = "Mylabel2.qml";
            } else {
                myload.source = "Mylabel.qml";
            }
            count++;
        }
    }
}

Mylabel.qml:
import QtQuick 2.0

Rectangle {
    width: 100
    height: 62

    Text{
        text:qsTr("asdfsdfsdfs")
    }
}
Mylable2.qml:
import QtQuick 2.0

Rectangle {
    width: 100
    height: 62

    Text{
        text:"gggggggggg"
    }
}

我在通过文本编辑器直接修改Mylable.qml 中的text:为"aaaaaaa"  界面上点击的还是"asdfsdfsdfs"
------解决思路----------------------
或许你可以试试 构建 菜单中的清理项目,然后重新构建,或者清楚实际的build文件夹再重新构建试试...我现在项目大了之后经常需要清理重新构建才能看到修改之后的效果
------解决思路----------------------
看看你的路径整不正确,很有可能读到了以前的文件。以前的文件并没有修改,使用clean,然后再试试。或者删除build-XXX文件夹。
  相关解决方案