2013-09-29 49 views
0

當我用C++創建一個類時,我可以註冊它爲QML並且可以爲它創建視圖。這非常方便。但是,如果我需要許多相同類型的對象,並且需要在屏幕上顯示少量視圖,那麼我遇到了問題。 是否可以爲對象註冊QML類型,而不是爲類註冊? 如果我改變了一些對象,我只需要看到它的視圖改變了。是否可以從對象註冊QML類型,而不是從類註冊?

回答

1

可以使用setContextProperty出口對象QML引擎:

// C++ code 
MyObject myObject; 
QQmlEngine engine; 
engine.rootContext()->setContextProperty("myObject", &myObject); 

// QML code 
Text { 
    text: myObject.name 
} 
+0

我已經發現了這個解決方案:http://qt-project.org/doc/qt-5.0/qtqml/qtqml-cppintegration- contextproperties.html它有幫助。謝謝。 – Robotex