[英]QImage into QML
我的應用程序通過網絡接收JPEG實時流(每秒16幀)。 直播應使用QML顯示。 接收部分用C ++編寫,所有UI均使用QML編寫。
如何將圖像數據放入QML窗口? 我環顧了如何顯示QImage,但還沒有找到解決方案。
實施QDeclarativeImageProvider並使用其他名稱一次又一次刷新圖像源似乎是唯一的解決方案,請參閱http://qt-project.org/doc/qt-4.8/qdeclarativeimageprovider.html 。
是的,不幸的是Image
元素缺少update()
方法(強制重置)。 設置完全相同的源URL不會觸發更新 。
您可以使用以下方法作為解決方法:
Image {
source: "image://yourImageProvider/something"
cache: false
function reload() {
var oldSource = source;
source = "";
source = oldSource;
}
}
(或者只是在兩個URL之間切換,使用相同的提供程序名稱,但使用不同的路徑...)
您還應該將收到的JPEG 推送到QML層。 收到新圖像后,您應該從暴露給QML引擎的某些對象的C ++一側發出信號 ,並將該信號連接到該reload()
函數。 Connections
元素將為您提供幫助。
Connections {
target: myC++ObjectExposedToTheQMLEngine
onNewFrameReceived: image.reload();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.