【问题标题】:QML custom propertiesQML 自定义属性
【发布时间】:2023-03-13 00:29:01
【问题描述】:

我在 QML 项中定义自定义属性时遇到问题:

Item {
    property MovieTileItem data
    Text {
        text: "Some text"
    }
}

MovieTitleItem 是在单独的 QML 文件中定义的项目:

import Qt 4.7

Item {
    property string title
    property string posterSource
}

我得到的错误是“无法将对象分配给属性”指向属性声明。 有什么想法吗?

【问题讨论】:

    标签: qt4 qml


    【解决方案1】:

    “无法将对象分配给属性”,因为已经存在诸如“数据”之类的属性(并且它是只读的):

    http://qt-project.org/doc/qt-4.8/qml-item.html#data-prop

    【讨论】:

      【解决方案2】:

      我相信,如果自定义类型没有使用 qmlRegisterType() 注册,它们就不能用作属性类型。以下可能会实现您正在寻找的东西

      Item {
          data:Custom{}
          Text {
              text: "Some text"
          }
      }
      

      【讨论】:

      • 这仅适用于导出的 C++ 类型,不适用于从另一个文件导入的自定义 QML 元素。
      猜你喜欢
      • 2017-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-19
      • 1970-01-01
      • 1970-01-01
      • 2011-03-27
      相关资源
      最近更新 更多