Bonjour,
j'ai une séquence de code qui me pose problème, peut-être une grosse bêtise de ma part :
1 2 3 4 5 6 7 8 9 10 11
| selection1 = 0
if len(points_liste_l.curselection()) > 0: # sélection de points
selection = [points_liste_l.get(i) for i in points_liste_l.curselection()]
selection1 = 1
elif num1_v.get() != '' and num2_v.get() != "":
selection = []
for i in range(int(num1_v.get()), int(num2_v.get())):
selection.append(points_liste_l.get(i))
print('liste', points_liste_l.get(i))
selection1 = 1
print('sel', selection, '\n', points_liste_l.get(0), '\n', liste_points[0]) |
Si le 'if' est satisfait, tout se passe bien.
Par contre, dans le cas 'elif', selection ne contient que des chaînes vides. Je la remplis pourtant avec les mêmes points_liste_l.get(i) que dans le cas 'if'.
Il y a peut-être quelque chose qui m'échappe dans la forme :
[points_liste_l.get(i) for i in points_liste_l.curselection()]
En fait le second cas correspond à une sélection (dans une listbox donc) à partir de numéros donnés par ailleurs (num1_v et num2_v).
Le premier cas correspond à une sélection multiple par clic. Y a-t-il d'autres moyens de sélection ? Comme ce que j'essaye de faire dans le cas 'elif' ?
Merci pour votre aide.
Partager