Seite 1 von 1

Unsichtbar statt Schließen des Fensters

Verfasst: 13. Februar 2009 15:38
von nicmoe
Hi,

ich habe eine kleines Problem: Ich möchte ein Fenster unsichtbar machen, wenn der X-Knopf in der Fensterleiste gedrückt wird und dann per QTrayIcon wieder reaktiviert wird. Das habe ich bei einigen Programmen schon gesehen und fand es ziemlich Praktisch.

Das unsichtbar machen wäre kein Problem und das TrayIcon ist auch schon implementiert, aber bei dem x-Knopf habe ich keine Lösung im Assistent gefunden.

Mit freundlichen Grüßen
nic

Verfasst: 13. Februar 2009 15:50
von franzf

Code: Alles auswählen

void MyWindow::closeEvent( QCloseEvent* e )
{
  hide();
  e->ignore();
}

Verfasst: 13. Februar 2009 16:41
von solarix
Das Fenster wird per default ohnehin nicht geschlossen, sondern nur auf "hidden" gesetzt.. Also musst du eigentlich nur:

Code: Alles auswählen

int main(..)
{
  QApplication app(argc,argv);
  app.setQuitOnLastWindowClosed (false);
  ...
}
Setzen.. dann kannst du jederzeit nach dem Schliessen dein Widget mit "show()" wieder anzeigen...

Verfasst: 13. Februar 2009 17:16
von nicmoe
Vielen dank für die Tipps und dass das so schnell ging!

Edit: Hat leider nichts geholfen. Der Prozess beendet sich weiterhin...
Edit2: Scheint wohl an dem hide() zu liegen. Wenn ich nur das e->ignore() nutze bleibt der Dialog offen. Ich versteh das aber nicht, denn hide() oder setVisible(false) sollte doch nur das Fenster unsichtbar machen!

Verfasst: 13. Februar 2009 19:57
von nicmoe
Ich habe nochmal diverse möglichkeiten ausprobiert, aber irgendwie klappt das nicht. Ich weiß auch nicht wieso. Das TrayIcon example hat den selben code, funktioniert aber. Ich kapier das nicht...