如何在 QGraphicsWidget 中设置 Qwidget
How can set a Qwidget inside a QGraphicsWidget?
QGraphicsWidget
有可能成为QWidget
的父级吗?我有一个QGraphicsItem
,我想在这个项目中添加一个QWidget
,如何在QGraphicsItem
子项的QGraphicsItem
或QGraphicsWidget
中设置QWidget
?
QGraphicsWidget
基本上是QWidget
的QGraphicsItem
...它提供了一个您可以使用的布局,所以它应该完全没有问题
用: QGraphicsScene::addWidget( QWidget * widget, Qt::WindowFlags wFlags = 0 )
QWidget和QGraphicsWidget是非常不同的。但是,QGraphics 系统提供了一个 QGraphicsProxyWidget,用于在 QGraphicsScene 中嵌入 QWidget 和基于 QWidget 的项目。
您可以直接创建 QGraphicsProxyWidget 并调用函数 setWidget,然后再将 QGraphicsProxyWidget 添加到 QGraphicsScene:
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);
相关文章:
- 为不同配置设置MSVC_RUNTIME_LIBRARY的正确方法是什么
- 在C++/Linux中设置单调时钟的一些技巧
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- 嵌套在类中时无法设置成员数据
- 需要帮助设置在C++中使用的Potrace
- 如何在自删除后将对象设置为nullptr
- 将指针设置为"nullptr"并不能防止双重删除?
- 为提升的小部件设置父 QWidget
- 无法在 qt 中为 QWidget 中的派生类设置样式表
- 为 QWidget 的私有成员设置样式表
- QWidget - 从C++代码设置边框
- 在设置QStylesHeet之后,如何获得Qwidget背景色
- 如何为Qwidget设置用户数据
- 如何设置通知功能,以便在创建QWidget派生对象时触发
- 是否可以继承QVBoxLayout并将其设置为QWidget中的布局
- 如何在 QGraphicsWidget 中设置 Qwidget
- Qt设置QWidget的默认宽度
- 如何重新缩放图像并将其设置为 QWidget
- Qt -使用QWidget类设置QWidget
- 设置了布局,但是QWidget看起来仍然是空的