Ok, jetz bin ich ein wenig verwirrt.
Was den Lebenszyklus angeht, war ich eigentlich der meinung, dass ich das verstanden hätte.
Ich habe jetzt noch ne kleine änderung vorgenommen.
Ich habe die instaziierung der zwei objekte in den Header ausgelagert.
Jetzt bleibt das fenster auch auf, da verstehe ich momentan den zusammenhang noch nicht ganz. Warum bleibt das Fenster jetzt plötzlich auf, nur weil ich die Objekte im Header erzeuge ?
Das zeigt mir an sich nur, dass ich doch nicht so falsch lag.
Ich hab bisher noch nicht gelesen, dass der lebenszyklus davon abhängt ob ich ein objekt im Header oder direkt in der Source erzeuge.
Falls dem so ist, bitte ich um einen kurzen Tipp zu dem thema, aus meiner Lektüre hier ging das nicht hervor.
Neues Problem:
Code: Alles auswählen
MainGame::MainGame(QWidget *parent)
: QMainWindow(parent), ui(new Ui::MainGame)
{
ui->setupUi(this);
scene.addText("hallo welt!");
view.setScene(&scene);
view.setViewport(ui->gameview);
view.show();
}
Wie gesagt, die objekte erzeuge ich jetzt im Header. Zusätzlich möchte ich das View in einem definierten Viewport laufen lassen. Das widget verschwindet aber im UI, stattdessen bekomme ich wieder ein externes Fenster aufgebaut, dass allerdings etwas unerwartet gestalltet ist.
Hey, AuE das mit der mainloop hatte ich schon im verdacht.
Aber ich war der Meinung, dass ich die mainloop der qt-app erst verlasse, wenn ich dem Programm den Befehl zum schließen gebe.
Ich bin mir eigentlich sicher gewesen, dass die instaziierung von view, mir eine entsprechende membervariable anlegt. Du darfst mir gern berichtigen
Ich hab es jetzt auch mal mit einem Pointer versucht, greife jetzt also über den Pointer auf die membermethode von view zu. Das absurde is dabei, dass das sogar fast schon funktioniert, der viewport wird mir zwar ganz klein in ne Ecke gequetscht, aber das is nen anderes Thema.
Wo liegt da jetzt bitte der Unterschied zwischen dem Zugriff auf die Methoden von view direkt über die instanz und den zugriff über einen Pointer ?
Das kann doch nich an mir liegen ? Ich mein ich hab das in anderen Programmen bischer ähnlich gemacht und das lief immer, nur die Views machen mir grad so ne Probleme.