Unsichtbar statt Schließen des Fensters

Alles rund um die Programmierung mit Qt
Antworten
nicmoe
Beiträge: 18
Registriert: 8. November 2008 19:29
Kontaktdaten:

Unsichtbar statt Schließen des Fensters

Beitrag 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
1+1=0;
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Code: Alles auswählen

void MyWindow::closeEvent( QCloseEvent* e )
{
  hide();
  e->ignore();
}
solarix
Beiträge: 1133
Registriert: 7. Juni 2007 19:25

Beitrag 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...
nicmoe
Beiträge: 18
Registriert: 8. November 2008 19:29
Kontaktdaten:

Beitrag 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!
1+1=0;
nicmoe
Beiträge: 18
Registriert: 8. November 2008 19:29
Kontaktdaten:

Beitrag 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...
1+1=0;
Antworten