Javascript 如何制作Loader';s组件是某些QtQuick';对象
当我点击那个矩形时,它会消失,但不会显示在加载程序的窗口中。 此外,当我最大化新的结果窗口时,GUI挂起Javascript 如何制作Loader';s组件是某些QtQuick';对象,javascript,qt,qml,Javascript,Qt,Qml,当我点击那个矩形时,它会消失,但不会显示在加载程序的窗口中。 此外,当我最大化新的结果窗口时,GUI挂起 目标是使新加载程序的窗口成为单击时矩形的父窗口。您的代码有两个问题 您应该使用的是parent=loader.item,而不是parent=loader。您不希望加载程序是您的父级,而是希望它已加载的项 要添加到加载程序的组件是一个窗口,而不是QQuickItem。尝试将窗口指定为项的可视父项时,将出现错误。您可以通过在窗口内创建一个项,并使用窗口的contentItem属性通过属性公开该项
目标是使新加载程序的窗口成为单击时矩形的父窗口。您的代码有两个问题
parent=loader.item
,而不是parent=loader
。您不希望加载程序是您的父级,而是希望它已加载的项你的代码有两个问题
parent=loader.item
,而不是parent=loader
。您不希望加载程序是您的父级,而是希望它已加载的项您可以简单地使用
Window.contentItem
作为父项,而不是创建新的Item
。您可以简单地使用Window.contentItem
作为父项,而不是创建新的Item
。
import QtQuick 2.8
import QtQuick.Window 2.2
import QtQuick.Layouts 1.1
import QtQuick.Controls 1.4
import QtQuick.Controls 2.1
Window
{
id: head
visible: true
width: 640
height: 480
title: qsTr("Hello World")
Loader
{
id: loader
}
Component
{
id: rect
Window
{
id: ppp
visible: true
width: 164
height: 148
title: qsTr("Hello World")
}
}
Rectangle
{
anchors.fill: parent
color: "blue"
Rectangle
{
id: leftArea
height: 100
width: 100
color: "red"
MouseArea
{
anchors.fill: parent
onClicked:
{
loader.sourceComponent = rect
leftArea.parent = loader
}
}
}
}
Loader
{
id: loader
}
Component
{
id: rect
Window
{
id: ppp
visible: true
width: 164
height: 148
title: qsTr("Hello World")
}
}
Rectangle
{
anchors.fill: parent
color: "blue"
Rectangle
{
id: leftArea
height: 100
width: 100
color: "red"
MouseArea
{
anchors.fill: parent
onClicked:
{
loader.sourceComponent = rect
leftArea.parent = loader.item.contentItem
}
}
}
}