2017-08-11 41 views
-2

我想創建Qt應用程序,在視頻和圖像之間可以更改視圖的位置取決於調用的函數。還有就是我.qml文件結構的簡單的例子:在QML中切換圖像和視頻

ApplicationWindow { 
Rectangle { 
    Rectangle { 
     id: Container 

     function dispImage(_title, _path) 
     { 
      //show imgae 
     } 
     function dispVideo(_title, _path) 
     { 
      //show video 
     } 
     Rectangle { 
      id: titleContainer 
      Text { 
       id: title 
      } 
     } 

     Rectangle { 
      id: image 
      Image { 
       id: image 

      } 
     } 
     Rectangle { 
      id: video 
      Image { 
       id: image 

      } 
     } 
    } 
} 

我應該使用哪一種機制?這可能通過從代碼中調用適當的函數來實現嗎?

回答

3

有不同的方法來實現這一點。

您可以使用Loader和加載不同的Component,或者你可以簡單地隱藏一個和顯示其他:

function dispImage(_title, _path) 
    { 
     image.visible = true 
     video.visible = false 
     //... 
    } 
    function dispVideo(_title, _path) 
    { 
     image.visible = false 
     video.visible = true 
     //... 
    } 

但是這些代碼,你有沒有可能奏效,看你怎麼有同樣的id: image 3次,您也有一個以大寫字母開頭的ID,這在QML中也是「非法」的。也許下次嘗試發佈工作代碼來展示一些初步努力來完成您的任務。