Bonjour,
Je suis pour un projet étudiant en train de travailler sur un programme (en occurrence, sur un bout de programme), dans lequel l'utilisateur doit pouvoir renseigner des "fiches" pour des animaux, et des aliments.
Je travaille sur la partie du programme qui doit vérifier qu'une fiche n'est pas déjà existante. En python pur et dur, tout va bien. C'est quand j'essaye de faire la même chose dans tkinter que rien ne va.
J'ai mis une case "entry", puis un bouton OK qui est censé envoyer ce qui a été écrit dans la case vers une fonction qui vérifie si le fichier correspondant existe ou pas. Mon problème est que le programme ne me laisse pas le temps de remplir cette case entry, qu'il est déjà passé à la fonction de test sans que j'aie appuyé sur le bouton ...
Bref, la réponse est peut être sous mon nez, mais comme je débute, je suis un peu perdue avec tkinter ... des idées ?
Je travaille sous python 3.3.2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 from tkinter import * # fonction qui teste l'existence d'un fichier def fich_existe(genre, nom, gui): fname = genre+"_"+(str(nom)).lower()+".txt" print(fname)# test try: f = open(fname,'r') f.close() exist = "TRUE" except: exist = "FALSE" print(exist) #test return exist class verif_nom_fiche(object): def __init__(self, genre): self.root = Tk() self.root.title("Création d'une nouvelle fiche "+ genre) nom = StringVar texte = Label(self.root, text="Quel est le nom du "+genre).pack(pady=10) nom_ent = Entry (self.root, textvariable=nom).pack() nom_ok = Button(self.root, text="OK", command = fich_existe(genre, nom_ent.get(), self.root)).pack() ann = Button (self.root, text="Annuler", command = self.root.quit).pack() self.root.mainloop() self.root.destroy() # destruction (fermeture) de la fenêtre app = verif_nom_fiche("cheval")J'y ai passé la journée, ai épluché plein de tutos, mais n'ai pas trouvé la solution à mon problème ... Quelqu'un pour aider une demoiselle en détresse ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 nom_ok = Button(self.root, text="OK", command = fich_existe(genre, nom_ent.get(), self.root)).pack() AttributeError: 'NoneType' object has no attribute 'get'Merci d'avance !
Partager