Ich verwende cx_freeze, um eine tkinter App einzufrieren. Wenn ich die exe ausführe, bekomme ich ein wundervolles USELESS Konsolenfenster zusammen mit meiner tkinter GUI.
Ich möchte dieses nutzlose schwarze Fenster entfernen / verstecken.
Ich habe Threads gesehen, die folgendes vorschlagen:
Der obige Code macht das Gegenteil von dem, was ich will. Es verbirgt meine GUI, während das nutzlose schwarze Fenster übrig bleibt. Ich möchte, dass es andersherum ist.
Diese Frage ist sehr ähnlich, aber für wxPython und cx_Freeze. Glücklicherweise stellt sich heraus, dass das Erscheinungsbild der Konsole nicht vom Quellcode, sondern vom Buildskript aus konfiguriert werden kann. Der Trick besteht darin, die Variable base
in Ihrem cx_Freeze Build-Skript zu setzen:
Hier ist die entsprechende Dokumentation (obwohl nicht ausdrücklich erwähnt wird, dass base
die Konsole steuert Option).
Auch, weil es interessant ist, löst eine Antwort auf eine andere Frage das Problem der Erstellung einer GUI App mit oder ohne Konsolenmodus Option, die ich dachte, war sehr cool.
Ich erinnere mich, irgendwo gelesen zu haben, dass unter Windows, wenn Sie Ihre Dateiendung als .pyw
angeben, diese mit pythonw.exe (ohne Konsolenfenster) gestartet wird. Funktioniert das für Sie?
Ich hatte heute das gleiche Problem
Was ich verwendet habe, um meine Python-Programme zu kompilieren, war py2exe und der Fix war sehr einfach, modifiziere die Setup-Datei wie unten gezeigt. Meine Schnittstelle ist mit Tkinter
geschriebenÄndern Sie das Skript "setup.py" py2exe von:
Alter Python-Code:
%Vor%Neuer Python-Code:
%Vor%Nachdem ich das getan habe und mein Setup-Skript erneut gestartet habe, wurde die Anwendung geladen und das Konsolenfenster nicht angezeigt. Die einzige Sache mit dieser ist, wenn Sie Ihre Anwendung haben, die Druckbefehle zum Konsolenfenster sendet, sehen Sie nicht Thema. Ich hoffe, das hilft.
Ich nehme an, mit "black window" beziehen Sie sich auf das Terminalfenster. Um dies zu verhindern, speichern Sie Ihre Datei als .pyw Erweiterung statt .py
Wenn Sie pyinstaller verwenden, verwenden Sie pyinstaller-gui.py In der Windows-Befehlszeile geben Sie
einpython pyinstaller-gui.py
Dies wird zuerst sagen "Bitte verwenden Sie nur 'pyinstaller.py'. Gui ist nicht gepflegt." Ändern Sie den Code, und Sie können das ausführen.
Es wird ein Popup-Fenster angezeigt, in dem Sie Ihr Skript und einige Kontrollkästchen auswählen können. Überprüfen Sie 'keine Konsole (nur Windows)
Das ist es. Du bist fertig!
Eine weitere Option: Verwenden Sie beim Erstellen die Option --noconsole. das heißt:
python pyinstaller.py --noconsole yourscript.py
Tags und Links python-3.x tkinter cx-freeze