Я использую флажки для получения данных, когда нажимаю на нее, но моя переменная не меняется, и я не знаю почему. Обычно она равна 0, когда не нажата кнопка, и 1, когда она нажата. Но он реагирует так, будто всегда не нажимается.
def config(ticket,client,code,state,Date):
def save():
Input_comment = T_Comment.get("1.0", END)
print("--------------")
print("Commentaires :", T_Comment.get("1.0", END))
print("Remboursement :",is_Remb.get())
print("Retour colis :", is_Return.get(),"\tChoix :",var_.get())
print("Geste :", is_Geste.get(), "\tMontant :",e_geste.get())
print("Avoir :", is_Avoir.get())
print("Autres :\t", T_Autre.get("1.0", END) )
print("Details transporteur :", "\n-Transporteur :", e_track_transp.get(), "\nNumero Tracking :", e_track.get())
#UPDATE commentaires SAV
connexion = sqlite3.connect('Base_SAV.db')
curseur = connexion.cursor()
curseur.execute("UPDATE SAV SET Commentaires_SAV= (?) WHERE ID =1", (T_Comment.get("1.0", END),))
connexion.commit()
curseur.close()
#UPDATE Solutions SAV
if is_Remb.get() == 1:
connexion = sqlite3.connect('Base_SAV.db')
curseur = connexion.cursor()
curseur.execute("UPDATE SAV SET Solutions_SAV= 'Remboursement\' WHERE ID =1")
connexion.commit()
curseur.close()
if is_Return.get() == 1:
if var_.get() == 1:
connexion = sqlite3.connect('Base_SAV.db')
curseur = connexion.cursor()
curseur.execute("UPDATE SAV SET Solutions_SAV= 'Retour Colis - Client\n' WHERE ID =1")
connexion.commit()
curseur.close()
elif var_.get() == 2:
connexion = sqlite3.connect('Base_SAV.db')
curseur = connexion.cursor()
curseur.execute("UPDATE SAV SET Solutions_SAV= 'Retour Colis - SAV\n' WHERE ID =1")
connexion.commit()
curseur.close()
if is_Geste.get() == 1:
connexion = sqlite3.connect('Base_SAV.db')
curseur = connexion.cursor()
curseur.execute("UPDATE SAV SET Solutions_SAV= 'Geste commercial\n' WHERE ID =1", )
connexion.commit()
curseur.close()
connexion = sqlite3.connect('Base_SAV.db')
curseur = connexion.cursor()
curseur.execute("UPDATE SAV SET Geste_commercial= (?) WHERE ID =1", (e_geste.get(),) )
connexion.commit()
curseur.close()
if is_Geste.get() == 0:
connexion = sqlite3.connect('Base_SAV.db')
curseur = connexion.cursor()
curseur.execute("UPDATE SAV SET Geste_commercial= NULL WHERE ID =1" )
connexion.commit()
curseur.close()
if is_Avoir.get() == 1:
connexion = sqlite3.connect('Base_SAV.db')
curseur = connexion.cursor()
curseur.execute("UPDATE SAV SET Solutions_SAV= 'Avoir\n' WHERE ID =1")
connexion.commit()
curseur.close()
if is_Autre.get() == 1:
connexion = sqlite3.connect('Base_SAV.db')
curseur = connexion.cursor()
curseur.execute("UPDATE SAV SET Solutions_SAV= (?) WHERE ID =1", (T_Autre.get("1.0", END),))
connexion.commit()
curseur.close()
#UPDATE Details Transporteurs
connexion = sqlite3.connect('Base_SAV.db')
curseur = connexion.cursor()
curseur.execute("UPDATE Commande SET Transporteur= (?) WHERE ID =1", (e_track_transp.get(),))
connexion.commit()
curseur.close()
connexion = sqlite3.connect('Base_SAV.db')
curseur = connexion.cursor()
curseur.execute("UPDATE Commande SET Num_Tracking= (?) WHERE ID =1", (e_track.get(),))
connexion.commit()
curseur.close()
...
config = Tk()
config.wm_state(newstate="zoomed")
config.title('Complément de profil')
config.iconbitmap('MyCatSAV.ico')
config.minsize(1920,1280)
config.maxsize(1920,1280)
config.pack_propagate(0)
config.option_add('*tearOff', FALSE) # Nécessaire avec windows
config.update()
config.geometry(config.geometry())
is_Remb = IntVar()
is_Return = IntVar()
var_ = IntVar()
is_Geste = IntVar()
is_Avoir = IntVar()
is_Autre = IntVar()
e_track_transp = StringVar()
e_track = StringVar()
e_geste = StringVar()
Label(my_frame,text='\n\t\t').grid(row=0, column=0)
Label(my_frame,text='\t\t').grid(row=0, column=1)
Label(my_frame,text='\t\t').grid(row=0, column=2)
L_Comment = Label(my_frame, text='Commentaires SAV :', font=('Arial', 22, 'bold','underline')).grid(row=1, column=1, sticky='w')
T_Comment = Text(my_frame, height=10, width=100,font=('Arial',14))
T_Comment.grid(row=2, column=1,columnspan=7, sticky='w')
L_Solution = Label(my_frame, text='Solutions SAV :', font=('Arial', 22, 'bold','underline')).grid(row=3, column=1, sticky='w')
CB_Remb = Checkbutton(my_frame, text='Remboursement', variable=is_Remb, font=('Arial', 18,'bold'), command=save).grid(row=4, column=1, sticky='w')
CB_Return = Checkbutton(my_frame, text='Retour colis : ', variable=is_Return, font=('Arial', 18,'bold'), command=save).grid(row=5, column=1, sticky='w')
RB_Client = Radiobutton(my_frame, text='Client', variable=var_ , font=('Arial',18,'bold'), value=1, command=save).grid(row=5, column=2, sticky='w')
RB_SAV = Radiobutton(my_frame, text='SAV', variable=var_, font=('Arial',18,'bold'), value=2, command=save).grid(row=5, column=3, sticky='w')
CB_Geste = Checkbutton(my_frame, text='Geste commercial :', variable=is_Geste, font=('Arial', 18,'bold'), command=save).grid(row=6, column=1, sticky='w')
E_Geste = Entry(my_frame, textvariable=e_geste,width=6, font=('Arial', 18,'bold'))
E_Geste.grid(row=6, column=2, sticky='w')
CB_Avoir = Checkbutton(my_frame, text='Avoir', variable=is_Avoir, font=('Arial', 18,'bold'), command=save).grid(row=7, column=1, sticky='w')
CB_Autre = Checkbutton(my_frame, text='Autres : ', variable=is_Autre, font=('Arial', 18,'bold'), command=save).grid(row=8, column=1, sticky='w')
T_Autre = Text(my_frame, width=100, height=2, font=('Arial',14))
T_Autre.grid(row=9, column=1,columnspan=7 ,sticky='w')
CB_Tracking = Label(my_frame, text='Details Transporteur :', font=('Arial', 22,'bold','underline')).grid(row=10, column=1,sticky='w')
CB_Tracking_transp = Label(my_frame, text='-Transporteur :', font=('Arial',16)).grid(row=10, column=2,sticky='w')
CB_N_tracking = Label(my_frame, text='-N° Tracking :', font=('Arial',16)).grid(row=11, column=2,sticky='w')
E_Tracking_transp = Entry(my_frame,textvariable=e_track_transp, width=50, font=('Arial',14)).grid(row=10, column=3,columnspan=3,sticky='w')
E_Tracking_ = Entry(my_frame,textvariable=e_track, width=50, font=('Arial',14)).grid(row=11, column=3,columnspan=3,sticky='w')
my_frame.bind('<Return>', save_)
Неважно, на какую кнопку я нажал, ничего не произошло. Переменная, затронутая Checkbutton, не изменяется и по-прежнему равна 0. Но когда я набираю Text, все нормально, у меня возникают проблемы только с Checkbutton.
РЕДАКТИРОВАТЬ: Я нашел свою ошибку. Я использовал 2 раза Tk()
вместо Toplevel()