據我所知,在 QT QML 中不可能在 QML 組件中實體化 C 類,除非它是 QQuickItem。我不想將所有 ViewModel 放在 ViewEngine 背景關系中,因為在不使用的情況下在記憶體中創建所有類是一種非常糟糕的做法。
我的問題是:如何在沒有 usnig ViewEngine 背景關系的情況下從單個 QML 組件實體化 C ViewModel ou Services/API。ViewModel 必須是 QQuickItem 型別嗎?
uj5u.com熱心網友回復:
C 物件不需要是 QQuickItems,它們需要是 QObjects。你只需要用QQmlEngine注冊你的類,像這樣:
qmlRegisterType<MyObject>("my.component.library", 1, 0, "MyObject");
然后在您的 qml 檔案中,您可以像這樣實體化該類:
import my.component.library 1.0
MyObject {
...
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/476824.html
上一篇:從Qt中的函式回傳MIME資料
