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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| import tkinter as tk
column=[['', '', 'Vh inf', 'Vh inf avec insert surmoule', 'Vh inf avec joint', 'Vh inf avec insert surmoule visible']] # un exemple de liste que je peux utiliser
def checkbox_get():
global checklist #Globalise la liste checklist pour ne pas la mettre en argument pour le bouton
checklist=[]
for i in range(2,len(column[0])):
print(globals()['var%s' % i].get())
checklist.append(globals()['var%s' % i].get()) #récupere les variable 0 ou 1 si la case est coché de toutes les variables
fenetre.destroy() #ferme la fenetre
fenetre_principale()
return checklist
def main(): #Le main pour le VH inf pour l'instant qui permettera de choisir dans la liste.
fenetre_principale.destroy()
global fenetre,column #Permet de globaliser la fenetre pour l'utiliser dans la fonction checkbox_get sans la mettre en argument
#sheet_function(i) #Instore la lecture dans la feuille 'i'
#lire_colone(sheet, column,i) #lis les valeurs de la colonne 'i'
x=len(column[0])
fenetre = tk.Tk() #Initialise la fenetre
Frame1 = tk.Frame(fenetre) #Instore 2 frame une pour la scrollbar et l'autre pour le bouton Lancer (get des value)
Frame1.pack(side="left")
Frame2 = tk.Frame(fenetre)
Frame2.pack(side="right")
vsb=tk.Scrollbar(Frame1,orient="vertical") #La scrollbar
text=tk.Text(Frame1,width=40, height=20, yscrollcommand=vsb.set) #Pour que les textes suivent la ScrollBar
vsb.config(command=text.yview)
vsb.pack(side="right", fill="y")
text.pack(side="left", fill="both", expand=True)
for i in range(2,len(column[0])): #création des CheckButtons dans la ScrollBat
globals()['var%s' % i]=tk.IntVar() #créé une variable pour chaques i, ex : var2,var3,var4 ect ...
bg = 'grey'
if i % 2 == 0:
bg='white'
cb=tk.Checkbutton(Frame1,text=column[0][i],bg=bg,variable=globals()['var%s' % i])
text.window_create("end", window=cb)
text.insert("end", "\n") #Pour avoir une CheckButton par ligne '\n'
tk.Button(Frame2, text="Valider", command=checkbox_get).pack() #Bouton avec la commande de get des checkbuttons
fenetre.mainloop()
def fenetre_principale():
global fenetre_principale
fenetre_principale=tk.Tk()
tk.Button(fenetre_principale, text="Vh inf", command=main).pack()
fenetre_principale.mainloop() |
Partager