2016-06-02 7 views
2

Ich benutze self.setWindowFlags(Qt.Tool), um die Anwendung in der Taskleiste auszublenden. Allerdings habe ich festgestellt, dass selbst wenn ich x auf der rechten oberen Ecke des Programms, es läuft immer noch im Hintergrund (ich sehe es auf Task-Manager/Prozesse). Das bedeutet, dass das Programm nicht richtig schließt. Ist das, weil ich self.setWindowFlags(Qt.Tool) verwende? Wie kann ich das beheben, diese Flagge Option hide Programm-Symbol, aber selbst wenn ich x drücken, um das Programm zu schließen, läuft es immer noch im Hintergrund.PyQt5 zerstöre ein Programm richtig

+0

Wenn Sie nicht möchten, vorhandene Fenster Flags zu entfernen, sollten Sie 'self.setWindowFlags (self.windowFlags() | Qt.Tool) aufrufen'. –

Antwort

0

fand ich die Lösung, Ihre eigene Taste beenden Sie machen und das Signal wie eine Verbindung unter

self.xbutton = QPushButton(self) 
self.xbutton.setText("Quit") 
self.xbutton.clicked.connect(self.close) 

dies die App richtig zerstören. Verwenden Sie auch Qt.Toolself.setWindowFlags(QtCore.Qt.FramelessWindowHint)

0

In Qt wird eine Anwendung weiter ausgeführt, bis die Haupt-Event-Schleife das Signal zum Beenden erhält. In den meisten Anwendungen ist dies gegeben, wenn die letzte (oder einzige) QMainWindow zerstört ist (siehe QApp.setQuitOnLastWindowClosed()).

Das Setzen des Qt.Tool Flags auf QMainWindow löscht das WA_QuitOnClose Flag, was bedeutet, dass beim Schließen des Fensters kein Signal mehr angezeigt wird, um die Anwendung zu beenden. Sie können diese Markierung jedoch auf as described in this post on the Qt forum zurücksetzen.

Alternativ können Sie den Exit auch manuell mit QApp.quit() auslösen.

+0

Ich verstehe nicht, auch das funktioniert nicht tho. – GLHF

+0

@GLHF können Sie Ihren aktuellen Code zu Ihrer Frage hinzufügen, es wird einfacher sein, Ihnen zu zeigen – mfitzp

+0

Es ist wirklich lang, es wird mehr verwirrend sein, denke ich. Im Grunde habe ich eine Taste zum Beenden, aber wie gesagt, es schließt nur das Fenster, der Prozess läuft immer noch im Hintergrund. – GLHF