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>
{
Q_OBJECT
public:
explicit Dialog
(QWidget *parent
= 0);
private:
};
{
test->setText("test1");
test2->setText("test2");
QGraphicsProxyWidget* pw = scene->addWidget(test);
QGraphicsProxyWidget* pw2 = scene->addWidget(test2);
pw2->setPos(300,300);
scene->addItem(rect);
view->setScene(scene);
layout->addWidget(view);
setLayout(layout);
}
#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);
}
To copy to clipboard, switch view to plain text mode
Bookmarks