Bonjour à tous,
Je débute en python et j'essaie tant bien que mal d'utiliser des checkbutton pour générer un fichier texte.
En résumé, si le checkbutton est coché, cela ajoute la ligne correspondante dans un fichier texte. Si le checkbutton n'est pas coché, rien ne se passe.
Malheureusement, j'ai un problème sur la condition qui permet de déterminer si oui ou non le checkbutton est coché. Je me suis rendu compte que cette condition est basée sur une variable, censé être modifiée par le checkbutton. Je crois comprendre que je ne fais pas appel à la bonne variable (globale au lieu de celle modifiée par la fonction qui créer les checkbutton)
J'ai défini offvalue des checkbutton comme 'off', mon if test donc si la valeur du checkbutton est différente de off
Voici une partie du code en question :
Je pense que la logique utilisée pour arriver à mes fins n'est pas bonne, je me complique certainement la tache.
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 ListeProg = [ (Firefox, "Mozilla Firefox", "prog1"), (Chrome, "Google Chrome", "prog2"), ] def create_cb(): n = 1 for cmdLP, nomLP, numLP in ListeProg : Checkbutton(master, text=nomLP, variable=numLP, onvalue=cmdLP, offvalue='off').grid(row=n, sticky=W) n += 1 Button(master, text='Quit', command=master.quit).grid(row= n + 1, column=1, sticky=W, pady=4) Button(master, text='Show', command=txtgen).grid(row= n + 1, column=2, sticky=W, pady=4) def txtgen(): for cmdLP, nomLP, numLP in ListeProg : if numLP != 'off' : with open('outflie.txt', 'a') as f: f.write(cmdLP + "\n") create_cb()
Est-il possible de faire passer une variable d'une fonction à une autre ? Est-ce la solution la plus simple et/ou la plus logique pour générer ce fichier ?
Merci par avance,
Cordialement
Partager