J'ai donc créé un programme tkinter et l'ai enregistré sous forme de fichier .pyw de sorte que lorsque je l'exécute, il n'affiche pas la fenêtre d'arrière-plan CLI mais quand je l'ai compilé avec py2exe et cx-Freeze et exécuter l'exécutable, il a montré l'invite CLI. Comment serai-je capable de le compiler dans un fichier exécutable qui, lorsqu'il sera exécuté, ne montrera pas la fenêtre noire?Conversion de l'application Tkinter withoul CLI
2
A
Répondre
0
Dans Windows, vous pouvez cacher la CLI en utilisant:
base = Win32GUI
Par exemple, dans ce script:
import sys
from cx_Freeze import setup, Executable
build_exe_options = {"packages": ["os"], "excludes": []}
base = None
if sys.platform == "win32":
base = "Win32GUI"
setup( name = "guifoo",
version = "0.1",
description = "My GUI application!",
options = {"build_exe": build_exe_options},
executables = [Executable("guifoo.py", base=base)])
EDIT:
Vous mentionnez les fichiers multimédias ne sont pas inclus. C'est tout à fait normal, vous devez les spécifier manuellement. Bien qu'il existe de nombreuses façons de le faire, le plus simple est d'utiliser l'argument include_files
. Ceci est assez simple et peut se faire comme ceci:
import sys
from cx_Freeze import setup, Executable
build_exe_options = {"packages": ["os"], "excludes": [], "include_files":["Path/To/Media/Files.jpg"]}
base = None
if sys.platform == "win32":
base = "Win32GUI"
setup( name = "guifoo",
version = "0.1",
description = "My GUI application!",
options = {"build_exe": build_exe_options},
executables = [Executable("guifoo.py", base=base)])
En utilisant cette méthode, vous pouvez inclure des dossiers entiers comme celui-ci:
"include_files":["path/to/folder"]
ou des fichiers individuels (comme indiqué ci-dessus) comme ceci:
"include_files":["path/to/file.png"]
Merci Simon. Cela a fonctionné mais quelque chose n'allait pas. La compilation a été réussie mais tous les fichiers multimédia n'ont pas été copiés, je dois donc le déplacer manuellement. Au fait, si je veux utiliser py2exe au lieu de cx_Freeze, serais-tu capable de m'aider? –
@LeeYou Non désolé je ne sais pas py2exe (aussi cela ne fonctionne que pour python 2) aussi quels sont les noms et les chemins de fichiers des fichiers multimédias à inclure? Je vais modifier pour inclure ceux-ci une fois que vous me le dites. – Simon