簡體   English   中英

將QImage轉換成QML

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM