是否有可能QGraphicsWidget
成为父母QWidget
?我有一个QGraphicsItem
,我想QWidget
在这个项目中添加一个,我该如何设置一个QWidget
在一个QGraphicsItem
或者QGraphicsWidget
是一个孩子中设置一个QGraphicsItem
?
问问题
4066 次
2 回答
5
QGraphicsWidget
基本上是一个QGraphicsItem
for QWidget
s ...它提供了一个你可以使用的布局,所以它应该没有问题
利用:
QGraphicsScene::addWidget( QWidget * widget, Qt::WindowFlags wFlags = 0 )
于 2013-10-13T09:53:37.273 回答
4
QWidget 和 QGraphicsWidget 非常不同。然而,QGraphics 系统提供了一个 QGraphicsProxyWidget 用于在 QGraphicsScene 中嵌入 QWidget 和基于 QWidget 的项目。
在将 QGraphicsProxyWidget 添加到 QGraphicsScene 之前,您可以直接创建 QGraphicsProxyWidget 并调用函数 setWidget: -
QGraphicsScene* pScene = new QGraphicsScene;
QWidget* pWidget = new QWidget;
QGraphicsProxyWidget* pProxy = new QGraphicsProxyWidget(parent); // parent can be NULL
pProxy->setWidget(pWidget);
pScene->addItem(pProxy);
代理小部件现在可以在场景中移动、缩放等,并且其 QWidget 的功能将有信号传递给它以按预期工作。
或者,QGraphicsScene 包含一个快捷函数 addWidget,它在内部为您创建 QGraphicsProxyWidget 并从函数中返回它:-
QGraphicsProxyWidget* pProxy = pScene->addWidget(pWidget);
于 2013-10-14T09:39:49.593 回答