【发布时间】:2016-12-14 21:33:24
【问题描述】:
我有一个包装了另一个普通对象的 QObject:
#include "qmlnote.h"
QString QmlNote::title() const {
return note_.title();
}
void QmlNote::reload(const Note ¬e) {
note_ = note;
}
我使用这个在 QML 中加载:
ctxt->setContextProperty("note", &qmlNote);
后来我把它换成不同的注释:
qmlNote.reload(newNote);
然后在 QML 中,当这个注释发生变化时,我想做一些事情:
import QtQuick 2.0
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.1
Item {
property QtObject note
onNoteChanged: {
console.info(note.title)
}
}
我希望在我调用reload() 时触发onModelChanged(),但它没有发生。我想我需要从某个地方发出一些信号来通知 QML 视图注释已更改,但不确定在哪里。我以为我可以从reload() 发出信号,但似乎QObject 没有内置的changed 信号。
关于如何处理这个问题有什么建议吗?
【问题讨论】:
标签: qt model qml signals qobject