Bonjour,
Je réalise un programme avec TKinter relié à une base de donnée MYSQL
. Le problème c'est que je n'arrive pas à utiliser ces Entry. J'ai le message d'erreur suivant: NameError: global name 'mon_entry' is not defined, lorsque j'enregistre les données. voici le code:
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
21
22
23
24
25
26
27
28
29
30
31
32 def new1(): #module enr_per fen1=Toplevel() fen1.title("Personne") fen1.grab_set() fen1.focus_set() fen1.geometry("400x300") fen1.resizable(False,False) tex1 = Label (fen1, text='N°:') tex2 = Label (fen1, text = 'Nom:') tex3 = Label (fen1, text = 'Prenoms:') edt1 = Entry (fen1, bg = 'green') edt2 = Entry (fen1, bg = 'green') edt3 = Entry (fen1, bg = 'green') Button0 = Button (fen1, text = 'OK', command = save) tex1.grid(row =0, column =0, sticky = W) tex2.grid(row =1, column =0, sticky = W) tex3.grid(row =2, column =0, sticky = W) edt1.grid(row =0, column =1) edt2.grid(row =1, column =1) edt3.grid(row =2, column =1) Button0.grid(row =3, column =1) def save(): id = edt1.get() nom = edt2.get() prenom = edt3.get() myquery = "INSERT INTO essai.personne (id, nom, prenom) VALUES (\'"+id+"\',\'"+nom+"\',\'"+prenom+"\')" db = MySQLdb.connect(host='localhost', user='root', passwd='', db='essai') curs = db.cursor() curs.execute(myquery) curs.close() db.commit()
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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 #Programme principal #! /usr/bin/python #-*- coding:Utf-8-*- from Tkinter import * import MySQLdb import enr_per fen=Tk() fen.title("Formulaire principale") fen.grab_set() fen.focus_set() fen.geometry("500x400") fen.resizable(False,False) # Création de la barre de menu: menu1 = Menu(fen) # Création du menu fichier: fichier = Menu(menu1, tearoff=0) menu1.add_cascade(label="Fichier",menu=fichier) fichier.add_command(label="Quit", command=fen.quit) cascad = Menu(menu1, tearoff=0) menu1.add_cascade(label="Formulaire",menu=cascad) personne = Menu(cascad, tearoff=0) cascad.add_command(label="Personne",command=enr_per.new1 ) # afficher le menu fen.config(menu=menu1) mainloop ()Meci
Partager