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());
}
}
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());
}
}
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