Qt将Widget添加到GraphicsView?

时间:2012-02-02 09:11:35

标签: c++ qt user-interface

有没有办法在QGraphicsView上绘制Widgets而不是QGraphicsScene,以便在移动场景时窗口小部件保持原位?

我想创建一些可停靠在工作区内的对话框,如下所示:

enter image description here http://www.thebandfrom.com/wp-content/uploads/photoshop-ui.png

2 个答案:

答案 0 :(得分:3)

您可以使用QGraphicsScene的{​​{3}}功能,然后将addWidget标记设置为添加的QGraphicsProxyWidget

QGraphicsProxyWidget* proxyWidget = scene->addWidget(myWidget);
proxyWidget->setFlag(QGraphicsItem::ItemIgnoresTransformations);

答案 1 :(得分:0)

您可以将QGraphicsView设置为其父级,直接将小部件添加到QGraphicsView。您还可以添加布局,以便在调整QGraphicsView大小时,您的小部件会自行安排。