[英]Change QQuickImage source from within Q_INVOKABLE function or slot
我有一個非常簡單的任務,主要是因為QML和QT的QML和C ++分離,所以繞了圈。 因此,除了詢問特定的QT問題外,我還需要一般性建議以了解應使用哪些QT和QML函數來實現用例。
用例:
QQuickControls UI允許用戶選擇圖像。 該圖像顯示在UI中。 當用戶單擊“處理”按鈕時,應用程序將找到邊。
我的問題是; 如何覆蓋當前顯示的圖像? 我應該使用Q_INVOKABLE函數嗎? 還是信號或插槽? 我下面的代碼創建了UI,允許用戶選擇圖像(並顯示圖像),並在單擊“處理”按鈕時生成邊緣圖像。 它只是不顯示新的邊緣圖像,因為我不知道如何在QT / QQuickControls2中實現這一點。
任何有關如何在QT中實施此操作的建議將不勝感激。
我們有什么:
最簡單的解決方案是:
image
: Qt / QML:將QImage從C ++發送到QML並在GUI上顯示QImage 請注意,還有其他一些解決方案,可以使用QQuickFramebufferObject
和QQuickpainteditem
和QAbstractVideoSurface
進行更動態的渲染, QQuickFramebufferObject
解決方案在圖像非靜態等情況下值得努力。
PS我也建議您重命名該問題,只要它不是真正如何從QML執行C ++代碼,而是如何制作與QML兼容的圖像並實際呈現它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.