[gelöst] Keine Maus nach schliessen eines Dialogs.

Alles zum Qt Framework für Java
Antworten
svenali
Beiträge: 2
Registriert: 6. August 2008 13:57
Kontaktdaten:

[gelöst] Keine Maus nach schliessen eines Dialogs.

Beitrag von svenali »

Hallo Ihr Lieben Qt'ler!

Ich habe ein seltsames Problem. Ich habe wie folgt ein QMainWindow:

Code: Alles auswählen

public class CEgmontMainWidget extends QMainWindow
{

    public CEgmontMainWidget()
    {
        Ui_CEgmontMainWidget mainWidget = new Ui_CEgmontMainWidget();
        mainWidget.setupUi(this);

        mainWidget.actionCD_einlesen.triggered.connect(this, "cddbAbfrage()");
    }

    public void cddbAbfrage()
    {
        System.out.println(this.hasFocus());

        CCDDBImport cddb = new CCDDBImport(this);
        /* cddb.show();
        cddb.raise();
        cddb.activateWindow();*/
        cddb.exec();

        System.out.println(this.hasFocus());
    }
}
Der Dialog selbst sieht so aus:

Code: Alles auswählen

public class CCDDBImport extends QDialog
{
    private QWidget Parent;

    public CCDDBImport(QWidget parent)
    {
        super(parent);

        Parent = parent;

        Ui_CDDBImport cddbImport = new Ui_CDDBImport();
        cddbImport.setupUi(this);

        cddbImport.CDDBAnfrage.clicked.connect(this, "cddbAnfrageStarten()");
    }

    public void cddbAnfrageStarten()
    {
        System.out.println("CDDB Anfrage starten");

        CDiscID id = new CDiscID("/dev/cdrom");
        System.out.println(id.getID());

        CCDDB cddb = new CCDDB("Egmont", "0.1", "sven", "localhost");
    }

    public void reject()
    {
        super.reject();

        System.out.println("Ende");
        Parent.setFocus(FocusReason.NoFocusReason);
        System.out.println(Parent.hasFocus());
    }
}
Die Darstellung des Dialoges selbst, wird der Klassendatei Ui_CDDBImport.java entnommen. Das geht auch gut.

Der Dialog wird geöffnet und ich kann den Knopf CDDB-Anfrage drücken. Sobald ich jedoch den Dialog schliesse, geht kein Menüpunkt mehr im Hauptprogramm (MainWindow).

Wo liegt mein Fehler? Bzw. was vergesse ich?

Vielen Dank,
Sven
svenali
Beiträge: 2
Registriert: 6. August 2008 13:57
Kontaktdaten:

Lösung (aber komisch ist das schon)

Beitrag von svenali »

Der Fehler war folgender. Der Designer besitzt die StandardButtonBox-Vorlage, welche ich auswählte. Diese ButtonBox erbt ja auch von QWidget. Die Property Modality war dort bei auf ApplicationModal gestellt. Folglich war alles blockiert (also die gesamte Anwendung!). Nun weiss ich nicht, ob ich es aus Versehen eingestellt hatte oder nicht. Egal, das war jedenfalls die Ursache.

Liebe Grüße aus dem Norden,
Sven
Antworten