Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt 在QML中在图像和视频之间切换_Qt_Qml - Fatal编程技术网

Qt 在QML中在图像和视频之间切换

Qt 在QML中在图像和视频之间切换,qt,qml,Qt,Qml,我正在尝试创建Qt应用程序,在这里可以根据调用的函数在视频和图像之间更改视图。下面是my.qml文件结构的一个简短示例: ApplicationWindow { Rectangle { Rectangle { id: Container function dispImage(_title, _path) { //show imgae } function dispVideo(_tit

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

            }
        }
    }
}

我应该使用哪一种机制?通过从代码中调用适当的函数可以做到这一点吗?

有不同的方法来实现这一点

您可以使用
加载程序
加载不同的
组件
,也可以简单地隐藏一个组件,然后显示另一个组件:

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