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

C++ QML无法分配给不存在的属性,c++,qt,qml,qt5,C++,Qt,Qml,Qt5,我正在尝试创建一个自定义QML对象。我从简单开始,创建了一个名为rect.qml的qml文件: 在同一个目录中,我想在一个单独的qml文件中使用我的rect对象,名为window.qml: 我知道这是非常高水平的东西。无论如何,当我尝试运行应用程序时,会出现以下错误: qrc:/qml/window.qml:3:13:无法分配给不存在的属性rect 所以我检查了我的QRC文件,它是这样的: <RCC> <qresource prefix="/qml">

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

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

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

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

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

<RCC>
    <qresource prefix="/qml">
        <file>window.qml</file>
        <file>rect.qml</file>
    </qresource>
</RCC>
根据文档,这个应用程序不是很有用,因为它是非常简单的,对于我的问题来说是简化的,但是不应该有错误


任何帮助都将不胜感激

< p>您必须重命名文件为qql,并将其称为RcT{{}/P>> P>您必须将文件重命名为Req.QML,并称之为RcT{{}/P>> Q> QML对如何命名事物施加了一些限制,QML文档或暴露的C++枚举键必须以大写字母开头,属性或ID不能以大写字母开头。我不记得这是记录在一个单一的,方便的文章,因为它应该。大多数都是文档化的,但它遍布各地。Q/P>

QML对如何命名事物提出了一些限制,QML文档或暴露的C++枚举键必须以大写字母开头,属性或ID不能以大写字母开头。我不记得这是记录在一个单一的,方便的文章,因为它应该。大多数都有文档记录,但它分布在各地。

您是否尝试过将其重命名为Rect.qml,并因此在window.qml中使用它?你们搞定了!感谢您的时间和反馈!你们试过把它重命名为Rect.qml,然后在window.qml中运行吗?你们都搞定了!感谢您的时间和反馈!是的,名字就是问题所在。我同意,没有明确列出这种语言特有的限制是令人沮丧的。谢谢你抽出时间!是的,名字就是问题所在。我同意,没有明确列出这种语言特有的限制是令人沮丧的。谢谢你抽出时间!
import QtQuick 2.2
Item {
  id: mainWindow
  rect
  { }
}
<RCC>
    <qresource prefix="/qml">
        <file>window.qml</file>
        <file>rect.qml</file>
    </qresource>
</RCC>