Bonjour, je cherche à récupérer la ligne sélectionnée dans ma liste.
Voici le code morceau de code en question.
Pour expliquer avant, quand je clique sur une ligne, une erreur apparait.
def get_list1():
index = list1.curselection()
print(index)
pass
list1.bind("<<ListboxSelect>>", get_list1)
l'erreur que me sort le programme est la suivante :
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python310\lib\tkinter\__init__.py", line 1921, in __call__
return self.func(*args)
TypeError: get_list1() takes 0 positional arguments but 1 was given
Si vous souhaitez le code entier pour l'exécuter, le voici :
from tkinter import *
def Confirm():
fr_entry_1.get()
if fr_entry_1.get() == i:
erer1.set("")
i_n = 1
else:
fr_entry_1.set("")
erer1.set(m_inco)
i_n = 0
if tr_entry_2.get() == m_hard:
erer2.set("")
m_n = 3
elif tr_entry_2.get() == m_medio:
erer2.set("")
m_n = 2
elif tr_entry_2.get() == m_simple:
erer2.set("")
m_n = 1
else:
tr_entry_2.set("")
erer2.set(m_inco)
m_n = 0
if m_n == 1 and i_n == 1:
print("cool")
label_acceuil.pack_forget()
frame_mp.pack_forget()
entry_1.pack_forget()
erreur1.pack_forget()
entry_2.pack_forget()
erreur2.pack_forget()
confirm.pack_forget()
label_expli1.pack(side="top")
list1.pack()
entry_mot_de_passe1.pack(pady=5)
buton_add1.pack(side='bottom')
elif m_n == 2 and i_n == 1:
print("cool")
label_acceuil.pack_forget()
frame_mp.pack_forget()
entry_1.pack_forget()
erreur1.pack_forget()
entry_2.pack_forget()
erreur2.pack_forget()
confirm.pack_forget()
label_expli2.pack(side="top")
elif m_n == 3 and i_n == 1:
print("cool")
label_acceuil.pack_forget()
frame_mp.pack_forget()
entry_1.pack_forget()
erreur1.pack_forget()
entry_2.pack_forget()
erreur2.pack_forget()
confirm.pack_forget()
label_expli3.pack(side="top")
def Add1():
buton_add1.pack_forget()
label_expli1.pack_forget()
entry_mot_de_passe1.pack_forget()
list1.pack_forget()
label_expli_case.pack(side="top")
frame_add_pass.pack(pady=20)
entry_name.pack()
label_name.pack()
entry_pass.pack()
label_pass.pack()
entry_lien.pack(pady=5)
bouton_confirme_add1.pack()
bouton_annuler_add1.pack()
def BoutonConfirmeAdd1():
global pass_word
global nam_word
global lien_word
index_list1 = list1.size()
case1 = entry_name_var.get()
case2 = entry_pass_var.get()
case3 = entry_lien_var.get()
case3alter = "_"
case1n = len(case1)
case2n = len(case2)
case3n = len(case3)
ok1 = 0
ok2 = 0
print(case1)
print(case2)
print(case3)
print(case1n)
print(case2n)
if case1n < 1:
label_name_var.set(m_inco)
else:
print("cool")
label_name_var.set("")
ok1 = 1
if case2n < 15:
label_pass_var.set(m_inco)
else:
print("cool")
label_pass_var.set("")
ok2 = 2
if ok1 == 1 and ok2 == 2:
nam_word.append(case1)
pass_word.append(case2)
if case3n < 1:
lien_word.append(case3alter)
else:
lien_word.append(case3)
print(nam_word)
print(pass_word)
print(lien_word)
list1.insert(index_list1, nam_word)
label_expli_case.pack_forget()
frame_add_pass.pack_forget()
entry_name.pack_forget()
entry_name_var.set("")
label_name.pack_forget()
entry_pass.pack_forget()
entry_pass_var.set("")
label_pass.pack_forget()
entry_lien.pack_forget()
entry_lien_var.set("")
bouton_confirme_add1.pack_forget()
bouton_annuler_add1.pack_forget()
label_expli1.pack(side="top")
list1.pack()
entry_mot_de_passe1.pack(pady=5)
buton_add1.pack(side='bottom')
def BoutonAnnulerAdd1():
label_expli_case.pack_forget()
frame_add_pass.pack_forget()
entry_name.pack_forget()
entry_name_var.set("")
label_name.pack_forget()
entry_pass.pack_forget()
entry_pass_var.set("")
label_pass.pack_forget()
entry_lien.pack_forget()
entry_lien_var.set("")
bouton_confirme_add1.pack_forget()
bouton_annuler_add1.pack_forget()
label_expli1.pack(side="top")
list1.pack()
buton_add1.pack(side='bottom')
def get_list1():
index = list1.curselection()
print(index)
pass
pass_word = []
nam_word = []
lien_word = []
acc = "Bienvenue dans le stockage de mot de passe de niveau "
m_inco = "incorrect"
m_hard = "Harry@thme!tique56,suitedefibonacci"
m_medio = "Harry@thme!tique56"
m_simple = "Hardouin@56"
i = "worox"
i_n = 0
m_n = 0
# fenêtre info
ftr = Tk()
ftr.geometry("250x250")
ftr.minsize(50, 50)
ftr.maxsize(500, 500)
ftr.configure(bg="#1277F1")
# pr acceuille
label_acceuil = Label(ftr, text="bienvenue", bg="#1296F1")
frame_mp = Frame(ftr, bg="#4FF112", borderwidth=1)
fr_entry_1 = StringVar()
tr_entry_2 = StringVar()
fr_entry_1.set("worox")
tr_entry_2.set("Hardouin@56")
entry_1 = Entry(frame_mp, width=20, textvariable=fr_entry_1)
entry_2 = Entry(frame_mp, width=20, textvariable=tr_entry_2)
erer1 = StringVar()
erreur1 = Label(frame_mp, textvariable=erer1)
erer2 = StringVar()
erreur2 = Label(frame_mp, textvariable=erer2)
confirm = Button(ftr, text="confirmer", bg="#EB7C07", command=Confirm)
# tr add1
label_expli1 = Label(ftr, text=f"{acc}1")
list1 = Listbox(ftr)
entry_mot_de_passe1_var = StringVar()
entry_mot_de_passe1 = Entry(ftr, textvariable=entry_mot_de_passe1_var)
buton_add1 = Button(ftr, text="ajouter un mot de passe", command=Add1)
# tr add1 mot de passe
frame_add_pass = Frame(ftr)
label_expli_case = Label(frame_add_pass, text="completer les cases ci dessous")
entry_name_var = StringVar()
entry_name = Entry(frame_add_pass, textvariable=entry_name_var)
label_name_var = StringVar()
label_name = Label(frame_add_pass, textvariable=label_name_var)
entry_pass_var = StringVar()
entry_pass = Entry(frame_add_pass, textvariable=entry_pass_var)
label_pass_var = StringVar()
label_pass = Label(frame_add_pass, textvariable=label_pass_var)
entry_lien_var = StringVar()
entry_lien = Entry(frame_add_pass, textvariable=entry_lien_var)
bouton_confirme_add1 = Button(ftr, text="Confirmer", command=BoutonConfirmeAdd1)
bouton_annuler_add1 = Button(ftr, text="annuler", command=BoutonAnnulerAdd1)
# tr add2
label_expli2 = Label(ftr, text=f"{acc}2")
# tr add3
label_expli3 = Label(ftr, text=f"{acc}3")
# pack acceuille
label_acceuil.pack(side="top", fill="x")
frame_mp.pack(pady=50, padx=50)
entry_1.pack(pady=5, padx=5)
erreur1.pack()
entry_2.pack(pady=5, padx=5)
erreur2.pack()
confirm.pack()
list1.bind("<<ListboxSelect>>", get_list1)
ftr.mainloop()
Merci d'avance.
Windows / Chrome 104.0.0.0
Afficher la suite