Qt将小部件添加到GraphicsView?

Posted

技术标签:

【中文标题】Qt将小部件添加到GraphicsView?【英文标题】:Qt add Widget to GraphicsView? 【发布时间】:2012-02-02 09:11:34 【问题描述】:

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

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

http://www.thebandfrom.com/wp-content/uploads/photoshop-ui.png

【问题讨论】:

【参考方案1】:

您可以使用QGraphicsSceneaddWidget函数,然后将QGraphicsItem::ItemIgnoresTransformations标志设置为添加的QGraphicsProxyWidget

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

【讨论】:

【参考方案2】:

您可以通过将QGraphicsView 设置为其父级来直接将小部件添加到QGraphicsView。您还可以添加一个布局,以便在调整 QGraphicsView 的大小时,您的小部件会适当地排列自己。

【讨论】:

以上是关于Qt将小部件添加到GraphicsView?的主要内容,如果未能解决你的问题,请参考以下文章

如何将小部件放入空的 QWidget 中? [关闭]

将小部件名称与小部件一起添加到主屏幕

如何有条件地将小部件添加到列表中?

将小部件添加到地图会破坏 GWT 中的其他小部件

Android Widget:在将小部件添加到屏幕之前显示配置活动

尝试将小部件添加到 QTabWidget 时出错