【发布时间】:2012-02-02 09:11:34
【问题描述】:
有没有办法在 QGraphicsView 而不是 QGraphicsScene 上绘制小部件,以便在移动场景时小部件保持在原位?
我想创建一些可停靠在工作区中的对话框,如下所示:
http://www.thebandfrom.com/wp-content/uploads/photoshop-ui.png
【问题讨论】:
标签: c++ qt user-interface
有没有办法在 QGraphicsView 而不是 QGraphicsScene 上绘制小部件,以便在移动场景时小部件保持在原位?
我想创建一些可停靠在工作区中的对话框,如下所示:
http://www.thebandfrom.com/wp-content/uploads/photoshop-ui.png
【问题讨论】:
标签: c++ qt user-interface
您可以使用QGraphicsScene的addWidget函数,然后将QGraphicsItem::ItemIgnoresTransformations标志设置为添加的QGraphicsProxyWidget。
QGraphicsProxyWidget* proxyWidget = scene->addWidget(myWidget);
proxyWidget->setFlag(QGraphicsItem::ItemIgnoresTransformations);
【讨论】:
您可以通过将QGraphicsView 设置为其父级来直接将小部件添加到QGraphicsView。您还可以添加一个布局,以便在调整 QGraphicsView 的大小时,您的小部件会适当地排列自己。
【讨论】: