LINUX.ORG.RU

QWidget поверх QGraphicsScene. Как задать позицию виджета?

 , ,


0

2

Примерный код:

...
QWidget* widget = new QWidget(this);
QGraphicsScene* scene = new QGraphicsScene(this); 
QGraphicsProxyWidget *proxy = scene->addWidget(widget);
scene->update();
...

После чего сцена кладется на layout. Виджет добавляется на (0,0), как собственно и написано в документации.

Собственно вопрос, как изменить положение виджета, после того, как он добавлен на сцену.

Сам разобрался. Позиция задается методом QGraphicsProxyWidget::setPos(QPoint). У меня этот метод отрабатывал неправильно из-за вот этой строчки QWidget* widget = new QWidget(this);.
Опять же из документации: координаты виджета будут считаться «от сцены», если у виджета не был задан родитель.

Sakura ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.