我正在尝试创建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
}
}
}
}
我应该使用哪种机制?这可以通过从代码中调用适当的函数来实现吗?
答案 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中。也许下次尝试发布工作代码来演示完成任务的初步工作。