qq层次结构与qrc

时间:2014-10-01 07:10:09

标签: c++ qml

我正在编写一个c ++ / qml应用程序。由于我有很多qml文件,我想创建一个目录结构。我已经在我的文件系统中实现了这样的结构:

project
    |- qml
        |- main.qml
        |- widgets
            |- Button.qml
            |- Label.qml

我现在想要做的是使用qrc-prefixes来创建完全相同的层次结构:

main.qrc
    /
        main.qml
    /widgets
        Button.qml
        Label.qml

这是我的qml文件示例:

import QtQuick 2.2

import "widgets"

Item {
    id: window
    width: 800
    height: 480

    Button {
        id: button
        anchors.centerIn parent
        text: "click me"
    }
}

我遇到的问题是编译器不知道Button!

编辑:

错误讯息: qrc:///qml/main.qml:4“小部件”:没有这样的目录

2 个答案:

答案 0 :(得分:6)

QML解释器尝试将您的目录加载到错误的位置(文件系统而不是qrc文件)。 试试

import "qrc:/widgets"

解决您的问题。

答案 1 :(得分:1)

确保将目录添加到qrc文件中。最简单的方法是右键单击QtCreator中的“qml.qrc”文件,然后选择“添加现有目录”。在该提示之后还应该帮助QML解释器找到您的文件。