QML 无法分配给不存在的属性



我正在尝试创建自定义 QML 对象。我从简单的开始,通过制作一个名为rect.qml的qml文件:

import QtQuick 2.2
Rectangle 
{ }

同一个目录中,我想在一个名为window.qml的单独qml文件中使用我的rect对象:

import QtQuick 2.2
Item {
  id: mainWindow
  rect
  { }
}

非常高水准的东西,我知道。无论如何,当我尝试运行我的应用程序时,出现以下错误:

qrc:/qml

/window.qml:3:13:无法分配给不存在的属性"rect">

所以我检查了我的 QRC 文件,它是这样的:

<RCC>
    <qresource prefix="/qml">
        <file>window.qml</file>
        <file>rect.qml</file>
    </qresource>
</RCC>

根据文档(http://doc.qt.io/qt-5/qtqml-documents-definetypes.html(,此应用程序不是很有用,因为它是如此裸露,(针对我的问题进行了简化(,但不应该有错误。

任何帮助将不胜感激!

QML 对如何命名事物、QML 文档或公开的 C++ 枚举键必须以大写字母开头,属性或 ID 不得以大写字母开头。我不记得这应该记录在一篇方便的文章中。大多数都有记录,但它遍布各地。

必须将文件重命名为 Rect.qml 并将其命名为 Rect{}

最新更新