QQuickWidget内部带有QML。在上面显示另一个QML,但不在另一个窗口中显示

QQuickWidget内部带有QML。在上面显示另一个QML,但不在另一个窗口中显示,qml,qquickwidget,Qml,Qquickwidget,我有一个QQuickWidget(MovableWidget),里面有一个QML(QML1:Test.QML) 此QML有一个按钮,单击时,我希望在QML2上方显示/隐藏另一个QML(Test2.QML),但不在另一个窗口中(在Windows中,两个面板必须在同一个“任务栏”窗口中)。QML1必须在这两种情况下保持位置,QML1可见或隐藏 我试图在QML1内部添加一个QML2实例,将其设置在上面,但无法在QML1边界之外绘制。所以我想我必须增加QML1的大小,以及TestWidget的大小,但在

我有一个QQuickWidget(MovableWidget),里面有一个QML(QML1:Test.QML)

此QML有一个按钮,单击时,我希望在QML2上方显示/隐藏另一个QML(Test2.QML),但不在另一个窗口中(在Windows中,两个面板必须在同一个“任务栏”窗口中)。QML1必须在这两种情况下保持位置,QML1可见或隐藏

我试图在QML1内部添加一个QML2实例,将其设置在上面,但无法在QML1边界之外绘制。所以我想我必须增加QML1的大小,以及TestWidget的大小,但在这种情况下,我得到的最好的结果是窗口增加了,但是增加到了底部

main.cpp

...
MovableWidget *view = new MovableWidget;
view->setSource(QUrl("qrc:/Test.qml"));
view->setWindowFlags(Qt::FramelessWindowHint);
view->show();
if (view->rootObject())
    QObject::connect(view->rootObject(), SIGNAL(signal_showMenu(bool)), view, SLOT(onMenuShown(bool)));
...
MovableWidget.cpp

#include "movableWidget.h"

#include <QMouseEvent>

// ****************************************************************************
MovableWidget::MovableWidget(QWidget *parent)
    : QQuickWidget(parent)
{
}

// ****************************************************************************
void MovableWidget::onMenuShown(bool bShown)
{
   // setGeometry() here? parameters??
}
Test2.qml

import QtQuick 2.0

Rectangle {
    color: "green"
}

你想用这些代码归档什么?什么是
MovableWidget
SptMiniWindow
类?你说QML是什么意思?QML文件?什么是错误或意外行为?你应该澄清你的问题,如果你希望得到答案,你应该提供答案。我想要的是在另一个QML对象上面显示一个QML对象。最后,我使用一个QML“窗口”对象将QML对象2设置在QML对象1之上。我在QML1中动态加载QML2对象(Qt.createComponent),我添加了“flags:Qt.Tool | Qt.FramelessWindowHint”以删除框架并避免出现新的Windows窗口(我需要的)qml文件不是html页面。它们是类定义。停止像使用网页一样使用它们。你想用这些代码归档什么?什么是
MovableWidget
SptMiniWindow
类?你说QML是什么意思?QML文件?什么是错误或意外行为?你应该澄清你的问题,如果你希望得到答案,你应该提供答案。我想要的是在另一个QML对象上面显示一个QML对象。最后,我使用一个QML“窗口”对象将QML对象2设置在QML对象1之上。我在QML1中动态加载QML2对象(Qt.createComponent),我添加了“flags:Qt.Tool | Qt.FramelessWindowHint”以删除框架并避免出现新的Windows窗口(我需要的)qml文件不是html页面。它们是类定义。不要像使用网页一样使用它们。
import QtQuick 2.0

Rectangle {
    color: "green"
}