QGraphicsView zu Widget hinzufügen?

Du bist neu in der Welt von C++? Dann schau hier herein!
Antworten
Himbeer-Toni
Beiträge: 11
Registriert: 7. Juni 2010 07:49

QGraphicsView zu Widget hinzufügen?

Beitrag von Himbeer-Toni »

Hallo liebe Community,

ich hätte erneut eine Frage. Ich würde gerne ein QGraphicsView einem Widget hinzufügen. Anbei der gekürzte Code:

Code: Alles auswählen

MainWindow::MainWindow(QWidget *parent) : QWidget(parent) {
    this->setGeometry(100, 100, 800, 600);

    QPushButton *quit = new QPushButton(tr("Quit"));

    QGraphicsScene Scene;

    QGraphicsView Test(Scene, this);
    Test.setBackgroundBrush(Qt::blue);
    Test.setPalette(QPalette(QColor(0, 0, 200)));
    //Test.show();

    QGridLayout *Layout = new QGridLayout;
    Layout->addWidget(&Test, 0, 0);
    Layout->addWidget(quit, 0, 1);
    this->setLayout(Layout);
}
Die Klasse MainWindow ist das Hauptfenster, welches in main() instanziiert und gestartet wird. Starte ich in main() die QGraphicsView Test, popt es korrekt auf. Füge ich es aber wie oben gezeigt in das Widget MainWindow ein, wird es nicht angezeigt. Der Button wird korrekt angezeigt, am Layout liegt es also nicht.

Woran kann das liegen?
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

view und scene sind nach dem Konstruktor tot -> out of scope.
Leg es in den Freispeicher, oder/und (besser) mach Member draus. So kannst du auch noch außerhalb des Konstruktors was mit den Objekten anfangen.
Himbeer-Toni
Beiträge: 11
Registriert: 7. Juni 2010 07:49

Beitrag von Himbeer-Toni »

C++ Vorlesung ist bereits zu lange her :)

Ich danke dir vielmals, klappt wunderbar!
Antworten