从 qml 编辑 QObject 属性

Posted

技术标签:

【中文标题】从 qml 编辑 QObject 属性【英文标题】:Edit QObject property from qml 【发布时间】:2012-08-22 11:41:02 【问题描述】:

我正在编写一些类,它扩展了 QObject 并且几乎没有 Q_PROPERTY 我在 QList 中使用一个角色(总是返回 QObject* )在 QAbstaction 模型中使用它; 在 QML 中,我会使用 TextEdit 绑定属性,例如:

Binding

    target :currentReport
    property: description
    value: text_description_edit.text

但是这个条目返回错误并且没有绑定我的属性:

file:///..somePath../ReportAddDelegate.qml:179: ReferenceError: Can't find variable: description

如何在 qml 中编辑我的 QObject 属性?

更新: 我在委托组件中使用property QtObject currentReport

//对不起我的英语

【问题讨论】:

显示属性description 定义。它应该有 WRITEREADNOTIFY 部分。 是的,它有 Q_PROPERTY(QString description WRITE setDescription READ getDescription NOTIFY descriptionChanged) 顺便说一句,如果我这样写:TextEdit ... text: curretnReport.description 那么我没有错误,我在 TextEdit 中看到了文本,但如果我编辑它,我不会t 编辑对象中的描述属性 【参考方案1】:

解决了! 我在 Binding 中犯了错误! 需要写property: "description" 而不是property: description

【讨论】:

虽然英语不错!

以上是关于从 qml 编辑 QObject 属性的主要内容,如果未能解决你的问题,请参考以下文章

QML - 访问存储在 QList 中的 QObject 类属性

Qt Qml连接到Context属性的QObject属性的信号

如何将 QObject 指针的属性公开给 QML

是否可以在单独的线程中将 QObject 设置为 QML 上下文属性?

从 C++ 更改 QML 图像源

任何使用 QML 的非 QObject 类的机会