在QML中切换图像和视频

时间:2017-08-11 13:17:11

标签: qt qml

我正在尝试创建Qt应用程序,在这里可以更改视频和图像之间的视图取决于被调用的函数。我的.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

            }
        }
    }
}

我应该使用哪种机制?这可以通过从代码中调用适当的函数来实现吗?

1 个答案:

答案 0 :(得分: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,这也是&#34 ;非法"在QML中。也许下次尝试发布工作代码来演示完成任务的初步工作。