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
Javascript 如何制作Loader';s组件是某些QtQuick';对象_Javascript_Qt_Qml - Fatal编程技术网

Javascript 如何制作Loader';s组件是某些QtQuick';对象

Javascript 如何制作Loader';s组件是某些QtQuick';对象,javascript,qt,qml,Javascript,Qt,Qml,当我点击那个矩形时,它会消失,但不会显示在加载程序的窗口中。 此外,当我最大化新的结果窗口时,GUI挂起 目标是使新加载程序的窗口成为单击时矩形的父窗口。您的代码有两个问题 您应该使用的是parent=loader.item,而不是parent=loader。您不希望加载程序是您的父级,而是希望它已加载的项 要添加到加载程序的组件是一个窗口,而不是QQuickItem。尝试将窗口指定为项的可视父项时,将出现错误。您可以通过在窗口内创建一个项,并使用窗口的contentItem属性通过属性公开该项

当我点击那个矩形时,它会消失,但不会显示在加载程序的窗口中。 此外,当我最大化新的结果窗口时,GUI挂起


目标是使新加载程序的窗口成为单击时矩形的父窗口。

您的代码有两个问题

  • 您应该使用的是
    parent=loader.item
    ,而不是
    parent=loader
    。您不希望加载程序是您的父级,而是希望它已加载的项
  • 要添加到加载程序的组件是一个窗口,而不是QQuickItem。尝试将窗口指定为项的可视父项时,将出现错误。您可以通过在窗口内创建一个项,并使用窗口的contentItem属性通过属性公开该项来解决此问题,如下所示:

  • 你的代码有两个问题

  • 您应该使用的是
    parent=loader.item
    ,而不是
    parent=loader
    。您不希望加载程序是您的父级,而是希望它已加载的项
  • 要添加到加载程序的组件是一个窗口,而不是QQuickItem。尝试将窗口指定为项的可视父项时,将出现错误。您可以通过在窗口内创建一个项,并使用窗口的contentItem属性通过属性公开该项来解决此问题,如下所示:

  • 您可以简单地使用
    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
                    }
                }
            }
       }