将Qwidget(dock widget)设置为qgraphicscene qt

将Qwidget(dock widget)设置为qgraphicscene qt,qt,qt5,qgraphicsview,qgraphicsscene,Qt,Qt5,Qgraphicsview,Qgraphicsscene,我有两个dock小部件,其中dock1包含整个应用程序。我可以放大的地方。我想要同一个应用程序在dock2中适合屏幕的副本。我正在尝试将一个Qgraphicscene添加到dock2,加载dock1应用程序。 没有得到预期的输出 void MainWindow::createDockWindows() { win = new QWidget; QToolBar *tool = new QToolBar; QGraphicsView view; QHBoxLayout *layout = new

我有两个dock小部件,其中dock1包含整个应用程序。我可以放大的地方。我想要同一个应用程序在dock2中适合屏幕的副本。我正在尝试将一个Qgraphicscene添加到dock2,加载dock1应用程序。 没有得到预期的输出

void MainWindow::createDockWindows()
{

win = new QWidget;
QToolBar *tool = new QToolBar;
QGraphicsView view;
QHBoxLayout *layout = new QHBoxLayout;

minimize = new QToolButton(this);  
pix = style()->standardPixmap(QStyle::SP_TitleBarMinButton);
minimize->setIcon(pix);
tool->addWidget(minimize);
tool->addWidget(close);
layout->addWidget(tool);
layout->setMargin(0);
layout->setAlignment(Qt::AlignRight);
win->setLayout(layout);
connect(close,SIGNAL(clicked()),this,SLOT(close_window1()));
connect(minimize,SIGNAL(clicked()),this,SLOT(minimize_window1()));

dock1 = new QDockWidget(tr("window 1"), this);
dock1->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
app1 = new QWidget(dock1);
dock1->setMinimumHeight(200);
dock1->setMinimumWidth(200);
dock1->setTitleBarWidget(win);

view1 =new QQuickView();
app1 = QWidget::createWindowContainer(view1, this);
app1->setFocusPolicy(Qt::TabFocus);
view1->setSource(QUrl::fromLocalFile("app1.qml"));
dock1->setWidget(app1);
addDockWidget(Qt::RightDockWidgetArea, dock1);
viewMenu->addAction(dock1->toggleViewAction());

dock2 = new QDockWidget(tr("window 2"), this);
dock2->setMinimumHeight(200);
dock2->setAllowedAreas(Qt::BottomDockWidgetArea | Qt::RightDockWidgetArea);
app2 = new QWidget(dock2);

QGraphicsScene* Scene = new QGraphicsScene(this);
view.setScene(Scene);

QGraphicsProxyWidget *proxy = Scene->addWidget(app1);
view.setDragMode(QGraphicsView::ScrollHandDrag);


//QGraphicsProxyWidget* proxyWidget = scene.addWidget(app1);
//proxyWidget->setFlag(QGraphicsItem::ItemIgnoresTransformations);
// view2 =new QQuickView();
// app2 = QWidget::createWindowContainer(view2, this);
// app2->setFocusPolicy(Qt::TabFocus);
// view2->setSource(QUrl::fromLocalFile("app2.qml"));

dock2->setWidget(app2);
addDockWidget(Qt::BottomDockWidgetArea, dock2);
viewMenu->addAction(dock2->toggleViewAction());
}
我说错话了

QGraphicsProxyWidget::setWidget: cannot embed widget 0x1264fff0 which is not a toplevel widget, and is not a child of an embedded widget
如何在dock2中显示dock1应用程序的副本并将app1安装到dock2屏幕。。总的来说,我希望dock1是放大视图,dock2是同一应用程序的缩小视图。我正在尝试实现缩放和平移