QMainWindow onLoaded

Alles rund um die Programmierung mit Qt
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

CaptnChaos hat geschrieben:Wenn der dialog modal ist, ist es klar das die anwendung "hängen" bleibt. sie wartet bis der dialog mit einer rückgabe (ok, cancel) geschlossen wird.
Und genau das ist ein Programmierfehler! Entweder kommt der DLG in die MDI-Area, oder ich starte ihn mit exec(). Beides zusammen geht nicht!!!

Code: Alles auswählen

    QMdiArea * mdi = new QMdiArea(this);
    setCentralWidget(mdi);
    QFileDialog* dlg = new QFileDialog(this);
    dlg->setModal(true);
    //mdi->addSubWindow(dlg);
    dlg->exec();
Das geht, der MainWindow-Konstruktor zeigt den dlg an, sobald ich den schließe oder ok klicke, kommt das MainWindow.
Wenn ich die auskommentierte Zeile wieder mit reinnehm, dann bleibt es tatsächlich ohne Fenster hängen. Das ist einfach in der Anwendung ein Fehler, denn entweder ist der Dialog (ist ja auch nur ein QWidget) in ein Layout oder sonst ein Widget wie MDI integriert, oder er wird als eigenes Fenster (eben modaler Dialog) geöffnet. Beides zusammen geht nicht...

// edit:
Es ist im übrigen auch egal ob der Dialog modal ist oder nicht, sobald ich den mit exec() starte und in ein Layout/mdi/... binde, wird blockiert.
NoRulez
Beiträge: 208
Registriert: 19. Juni 2007 15:43

Beitrag von NoRulez »

Vielen herzlichen Dank.
Da ist das Problem, dann muss ich den dialog nicht modal machen.

Bez. Code, den hätte ich erst am Abend schicken können, was sich aber erübrigt, da Du genau meinen Code "nach programmiert" hast ;-)

LG NoRulez und danke nochmals
Antworten