Есть ли способ рисовать виджеты в QGraphicsView вместо QGraphicsScene, чтобы виджет оставался на месте при перемещении сцены?
Я хочу создать несколько диалогов, которые можно закрепить внутри рабочей области, например:
http://www.thebandfrom.com/wp-content/uploads/photoshop-ui.png
Вы можете использовать функцию addWidget для QGraphicsScene, а затем установить флаг QGraphicsItem::ItemIgnoresTransformations для добавленного QGraphicsProxyWidget.
addWidget
QGraphicsScene
QGraphicsItem::ItemIgnoresTransformations
QGraphicsProxyWidget
QGraphicsProxyWidget* proxyWidget = scene->addWidget(myWidget); proxyWidget->setFlag(QGraphicsItem::ItemIgnoresTransformations);
Вы можете добавить виджеты на QGraphicsView напрямую, установив QGraphicsView в качестве их родителя.Вы также можете добавить макет, чтобы при изменении размера QGraphicsView ваши виджеты располагались соответствующим образом.
QGraphicsView