Seite 1 von 1

Dialog aus Menü beendet Programm

Verfasst: 3. Dezember 2008 18:05
von Brain Fury
Hi

Ich bin noch relativ neu bei Qt und hab ein kleines Problem. Ich ein TrayIcon mit einem Kontextmenü. Dieses Menü hat eine Action die folgenden Slot ruft:

Code: Alles auswählen

void HappaHappa::namensDialog()
{
	bool ok,
	     nameVeraendert = false;

	while (nameVeraendert == false) {
		QString tempName = QInputDialog::getText(this,
				tr("Bitte Namen eintragen"),
				tr("Bitte Namen eintragen"),
				QLineEdit::Normal, eigenerName, &ok);
		if (ok && !tempName.isEmpty()) {
			eigenerName = tempName;
			nameVeraendert = ok;
		}
	}

}
Das Problem ist jetzt, dass wenn ich den Slot einfach so im Programm aufrufe, dass alles wunderbar klappt, aber wenn ich das aus dem Kontextmenü des TrayIcons mache beendet sich das Programm wenn ich den Dialog schließe.
Hier sind die restlichen relevanten Codeschnipsel:

Code: Alles auswählen

	changeNameAction = new QAction(tr("&Namen ändern"), this);
	connect(changeNameAction, SIGNAL(triggered()),
		this, SLOT(namensDialog()));
...
	trayMenu = new QMenu(this);
	trayMenu->addAction(changeNameAction);
	trayMenu->addAction(exitAction);
...
	trayIcon = new QSystemTrayIcon(this);
	trayIcon->setContextMenu(trayMenu);
Vielen Dank für eure Hilfe

Verfasst: 6. Dezember 2008 12:41
von Brain Fury
Okay, hab meinen Fehler entdeckt...

ein kurzes

Code: Alles auswählen

app.setQuitOnLastWindowClosed(false);
und alles is in Butter.