0
我很頻繁地從服務器接收數據。這些數據主要由數字組成。它們中的每一個對應於需要更新的QML對象。使用信號或Q_PROPERTY更新QML對象
Q_PROPERTY
和signals
之間爲了更新C++
文件中的QML
對象,最佳做法是什麼?
我很頻繁地從服務器接收數據。這些數據主要由數字組成。它們中的每一個對應於需要更新的QML對象。使用信號或Q_PROPERTY更新QML對象
Q_PROPERTY
和signals
之間爲了更新C++
文件中的QML
對象,最佳做法是什麼?
很好的方法是使用從QML綁定到C++對象。
F.ex.你有數據類應該顯示給用戶作爲一些qml對象。數據和相應的屬性
你有C++類:
class MyData
{
Q_OBJECT
Q_PROPERTY(qreal number READ number NOTIFY numberChanged)
....
//here you implement setter function that emits numberChanged() signal
};
你暴露你的數據通過一些輔助類或直接QML:
view->rootContext()->setContextProperty("myData", myDataObject);
比你使用綁定在你的QML反對:
Text
{
text: myData.number
}
現在你可以改變MyData類的對象中的數據和你的qml自動更新。
從C++文件更新QML對象? – falkb
是的。參見[Qt綁定文檔](http://doc.qt.io/qt-4.8/qtbinding.html) –