Bonjour à tous,

Je débute avec Python et Tkinter.
J'arrive à enregistrer des données de mon formulaire dans SQLITE lorsque je suis sur la fenêtre principale.
je souhaite maintenant que ce formulaire soit dans une Toplevel()
j'ai rencontré des problèmes de portée de variable (le formulaire étant dans une nouvelle fonction) mais je pense avoir résolu.
Actuellement mes données de formulaire n'arrivent pas dans ma bdd et je ne comprends pas pourquoi.
la console m'affiche:
<bound method Entry.get of <tkinter.Entry object .!toplevel.!entry>>
Pourriez-vous m'aider?

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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# -*- coding: utf-8 -*-
 
from shutil import copyfile
from tkinter import ttk
import tkinter as tk
from tkinter import *
from tkinter import filedialog 
import sqlite3  
 
 
def fen2():
    newWindow = Toplevel(root)
    newWindow.title("liste abonnés")
    newWindow.geometry("300x300")    
 
    # Label & Entry name
    lblName = Label(newWindow , text = "Nom" ,  bg="black" , fg = "yellow")
    lblName.place(x=5 , y = 5 , width = 155)
    entryName2 = Entry(newWindow)
    entryName2.place(x = 5,  y =25 , width=380) 
    entryPhone2 = Entry(newWindow)
    entryPhone2.place(x = 5,  y =45 , width=380) 
    entryMore2 = Entry(newWindow)
    entryMore2.place(x = 5,  y =65 , width=380)     
 
    # Command Button
    bAdd = Button(newWindow , text = "enregistrer" , bg="white" , fg = "blue" , command = ajouter)
    bAdd.place(x= 5 ,  y = 85 , width = 155) 
 
    global name2, phone2, more2
 
    name2 = entryName2.get
    phone2 = entryPhone2.get
    more2 = entryMore2.get
 
def ajouter():    
    # Create connection
    conn = sqlite3.connect('database.db')
    cur = conn.cursor()
    #Insert data
    print(name2)
    cur.execute("INSERT INTO customers (`name` , `phone`, `moreinfo`) VALUES (?,?,?)", (str(name2) , str(phone2), str(more2)))
    conn.close()
 
#******fenetre principale********
 
root = Tk()
root.title("Address Book")
root.geometry("200x200")
 
# Add Title
lblTitle = Label(root , text = "Abonnés" , font = ("Arial" , 21) , bg="blue" , fg = "white" )
lblTitle.place(x=0 , y=0 , width=250)
 
bOuvr= Button(root , text = "formulaire" , bg="white" , fg = "black" , command = fen2)
bOuvr.place(x= 5 ,  y = 40 , width = 155)
 
root.mainloop()