0
當我用C++創建一個類時,我可以註冊它爲QML並且可以爲它創建視圖。這非常方便。但是,如果我需要許多相同類型的對象,並且需要在屏幕上顯示少量視圖,那麼我遇到了問題。 是否可以爲對象註冊QML類型,而不是爲類註冊? 如果我改變了一些對象,我只需要看到它的視圖改變了。是否可以從對象註冊QML類型,而不是從類註冊?
當我用C++創建一個類時,我可以註冊它爲QML並且可以爲它創建視圖。這非常方便。但是,如果我需要許多相同類型的對象,並且需要在屏幕上顯示少量視圖,那麼我遇到了問題。 是否可以爲對象註冊QML類型,而不是爲類註冊? 如果我改變了一些對象,我只需要看到它的視圖改變了。是否可以從對象註冊QML類型,而不是從類註冊?
可以使用setContextProperty出口對象QML引擎:
// C++ code
MyObject myObject;
QQmlEngine engine;
engine.rootContext()->setContextProperty("myObject", &myObject);
// QML code
Text {
text: myObject.name
}
我已經發現了這個解決方案:http://qt-project.org/doc/qt-5.0/qtqml/qtqml-cppintegration- contextproperties.html它有幫助。謝謝。 – Robotex