Seite 1 von 1

[geloest] QSystemTrayIcon: TrayIcon nach Beendigung noch da

Verfasst: 1. Mai 2007 19:30
von buggybear
Hi,

ich habe wiedermal ein kleines Problem. Ich habe ein Programm geschrieben welches sich zu einem Trayicon minimieren lässt. Der Code entspricht in etwa dem Qt beiliegenden systray example. Bissel viel Code zum pasten. Mein problem ist nun das das icon bei beendigung des Programms (z.b. durch einfaches quit()) bestehen bleibt und erst verschwindet wenn ich mit der Maus drüberfahre. Kann jemand Tipps geben wie ich dieses Problem beheben kann? Ich weiss absolut nicht wonach ich im Code suchen soll.

Verfasst: 1. Mai 2007 20:07
von buggybear
Hmmm ich habe jetzt scheinbar eine Lösung für mich gefunden. Weiss aber nicht ob das zum Problem werden könnte, weil wenn das systray bei Beendigung nicht gelöscht wird, hat das doch sicher was zu sagen, oder?
Aktuell habe ichs so gelöst:

Einfach einen neuen SLOT CleanSystrayIcon definiert. und diesen noch zusätzlich zur quit routine verbunden...

Code: Alles auswählen

void Blubb::CleanSystrayIcon()
{
	if (trayIcon->isVisible())
	{
		trayIcon->setVisible(false);
	}
}

connect(quitButton, SIGNAL(clicked()), this,SLOT(cleanSystrayIcon()));
connect(quitButton, SIGNAL(clicked()), qApp, SLOT(quit())); 


Verfasst: 1. Mai 2007 20:17
von Christian81
Evtl. doch eher an dieses signal hängen falls man nicht mit dem Button beendet:
http://doc.trolltech.com/4.2/qcoreappli ... boutToQuit

Verfasst: 1. Mai 2007 21:33
von buggybear
Christian81 hat geschrieben:Evtl. doch eher an dieses signal hängen falls man nicht mit dem Button beendet:
http://doc.trolltech.com/4.2/qcoreappli ... boutToQuit
Hmmm, ja das macht auch Sinn. Funktionieren beide Varianten.