PDA

View Full Version : QGraphicsScene: Issues when using addWidget AND addItem



bamdenied
22nd February 2017, 14:28
Dear Community,

if you use addItem and addWidget on the same Scene,
the items are drawn outside the viewport(resize the Window).
If you use only one member the items are drawn as expected.

Is this behaviour a Bug?
Can someone explain why this happen?

Example:



#include <QGraphicsView>
#include <QPushButton>
#include <QGraphicsProxyWidget>
#include <QVBoxLayout>
#include <QDialog>


class Dialog : public QDialog
{
Q_OBJECT

public:
explicit Dialog(QWidget *parent = 0);

private:
};

Dialog::Dialog(QWidget *parent) :
QDialog(parent)
{

QGraphicsView* view = new QGraphicsView;
QGraphicsScene* scene = new QGraphicsScene;

QPushButton* test = new QPushButton;
test->setText("test1");
QPushButton* test2 = new QPushButton;
test2->setText("test2");
QGraphicsProxyWidget* pw = scene->addWidget(test);
QGraphicsProxyWidget* pw2 = scene->addWidget(test2);
pw2->setPos(300,300);
QGraphicsRectItem* rect = new QGraphicsRectItem(QRect(40,40, 100, 100));
scene->addItem(rect);

view->setScene(scene);
QVBoxLayout* layout = new QVBoxLayout;
layout->addWidget(view);
setLayout(layout);
}