Résolue

Erreur CATransaction synchronize avec Tkinter askdirectory

# Résolution d'erreurs # Interface graphique

Bonjour à tous,


Quand j'utilise la méthode "filedialog.askdirectory()" de tkinter pour spécifier un répertoire, j'ai "l'erreur" suivante (je met l'erreur entre "" car cela n'empeche pas le fonctionnement du programme) :


2023-03-11 17:13:22.061 Python[1160:22424] +[CATransaction synchronize] called within transaction


Voici juste deux lignes de code qui montre le problème :


`import tkinter.filedialog


dest_folder = tkinter.filedialog.askdirectory()`


J'ai bien trouvé des réponses sur google, mais rien de compréhensible pour mon niveau d'anglais, car évidement rien d'intéressant en français



Merci



Thibault houdon

Mentor

Salut Sébastien !


L'erreur que tu rencontres est en fait une erreur interne de tkinter qui n'affecte pas le fonctionnement de ton programme.


Elle concerne une opération de synchronisation dans la gestion des animations (CATransaction) de l'interface graphique.


Il n'y a pas de solution simple pour éviter cette erreur, car il s'agit d'un problème interne de tkinter qui ne dépend pas de ton code.


Cependant, tu peux essayer d'utiliser une alternative à la méthode askdirectory() pour sélectionner un répertoire, comme le module tkinter.filedialog.DirectoryChooser() qui ne semble pas provoquer cette erreur.


Voici un exemple de code avec cette alternative :



import tkinter.filedialog

root = tkinter.Tk()
root.withdraw() # cache la fenêtre principale de tkinter

dir_path = tkinter.filedialog.DirectoryChooser()
print("Répertoire sélectionné :", dir_path)


Merci pour ton retour.

J'ai essayé, mais cela me dit "AttributeError: module 'tkinter.filedialog' has no attribute 'DirectoryChooser'"

Mais bon, puisque cela n'affecte pas le fonctionnement du programme je vais laisser comme ça.


Inscris-toi

(c'est gratuit !)

Inscris-toi

Tu dois créer un compte pour participer aux discussions.

Créer un compte

Rechercher sur le site

Formulaire de contact

Inscris-toi à Docstring

Pour commencer ton apprentissage.

Tu as déjà un compte ? Connecte-toi.