2017-08-11 91 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中也是“非法”的。也许下次尝试发布工作代码来展示一些初步努力来完成您的任务。