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), как собственно и написано в документации.

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



Последнее исправление: CYB3R (всего исправлений: 1)

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

Sakura
() автор топика
Ответ на: комментарий от MikeDM

Кинул ты мне книгу эту уже (спасибо, кстати), даже поглядел мимолетом, но руки не доходят прочитать.

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