Ausblenden Konsole-Fenster mit Tkinter und cx_Freeze
Ich bin mit cx_freeze einfrieren eine tkinter-app. Wenn ich die exe starte bekomme ich eine wunderbar NUTZLOSE Konsole-Fenster zusammen mit meiner tkinter GUI.
Würde ich gerne entfernen/ausblenden diese nutzlose schwarze Fenster.
Ich habe threads gesehen, die vorschlagen, die folgenden:
root = tkinter.Tk()
root.withdraw()
Der obige code bewirkt das Gegenteil von dem, was ich will. Es blendet meine GUI, während der nutzlose schwarze Fenster bleibt. Ich möchte es anders herum sein.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese Frage sehr ähnlich ist, aber für wxPython und cx_Freeze. Zum Glück, es stellt sich heraus, dass das Aussehen der Konsole konfiguriert werden kann aus dem build-Skript, sondern als source-code. In Anlehnung an die beiden top-Antworten, der trick ist, die Einstellung der
base
variable in Ihrem cx_Freeze build-Skript:Hier ist der entsprechende Dokumentation (obwohl es nicht explizit erwähnt wird, dass
base
steuert die Konsole-option).Auch, nur weil es interessant ist, ein Antwort auf eine andere Frage löst das Problem der Erstellung einer GUI-Anwendung mit oder ohne Konsole-Modus-option, die ich dachte, war sehr cool.
Ich erinnere mich irgendwo gelesen, dass unter Windows, wenn Sie geben Sie Ihre Datei-Erweiterung
.pyw
es wird gestartet mit pythonw.exe (ohne Konsolenfenster). Funktioniert das für Sie?pythonw.exe
stattpython.exe
und sehen, ob das hilft?Tun, genau so, wie gary sagte, dann:
Diese arbeiten cx_Freeze
Ich hatte das gleiche problem heute
Was ich kompilieren meine python-Programme wurde von py2exe und das Update war sehr einfach ändern Sie die setup-Datei wie unten gezeigt. Mein interface geschrieben mit Tkinter
ändern "setup.py" py2exe Skript aus:
Alten Python-Code:
Neuen Python-Code:
Nachdem ich dies Tat und reran mein setup-Skript der Anwendung geladen und nicht die Konsole-Fenster. Das einzige, was mit diesem ist wenn Sie haben Ihre Bewerbung senden print-Befehle an die Konsole werden Sie nicht sehen, Thema. Ich hoffe, das hilft.
Ich gehe davon aus, dass durch die "schwarzen Fenster" verweisen Sie auf das terminal-Fenster. Um Sie zu deaktivieren, dies von zu knallen, speichern Sie Ihre Datei als .pyw-Erweiterung statt .py
Wenn mit pyinstaller verwenden pyinstaller-gui.py
In der Windows-Kommandozeile geben Sie
Dieser wird zunächst sagen: "Bitte verwenden Sie nur "pyinstaller.py'. Gui ist nicht beibehalten." Ändern Sie den code, l ' Il bit, und Sie werden in der Lage sein, diese laufen.
Wird es zeigen pop-up-Fenster wählen Sie das Skript und einige checkboxex. Überprüfen Sie auf " keine Konsole(nur windows)
Das ist es. Sie sind fertig!
Andere Möglichkeit: benutzen Sie --option-noconsole, während Gebäude. ich.e:
Für mich mit der option
--base-name Win32GUI
funktioniert. Hier ist ein Beispiel: