Python 3.6 / GTK: utilisation de GetEntry

Bonsoir,

j'espère que mon titre n'est pas trop obscur? Pour résumer je souhaite faire un programme sous GTK pour rentrer les paramètres dans des fonctions que j'ai mises dans un module (représenter une courbe, une intégrale, la calculer etc.).
Pour interragir, j'ai utilisé des widget "Entry", mais comment puis-je en affecter le contenu dans une variable et l'utiliser dans une fonction?
En outre, quand j'affecte une action au bouton "OK" qui est en fin de page et qui doit lancer le calcul, j'y colle ma fonction (ici trace_int(f,a,b,n), déjà pour rentrer la fonction f c'est moche :-/ ) mais dois-je en initialiser les valeurs pour que ça fonctionne? (mode par défaut en quelque sorte?)

extrait de programme qui ne fonctionne pas:
#!/usr/bin/env python3
# coding: utf-8


from math import *
import Divers_fonctions_Lycee as fdlyc
from gi.repository import Gtk


# -----------------------------------------------------------------------------
#                    les callback et les appels
# -----------------------------------------------------------------------------

def on_activate_entry_txt(entry,text):
    text=entry.get_text()

def on_activate_entry_nb(entry,nb):
    txt=entry.get_text()
    nb=float(txt)

def on_activate_entry_entier(entry,nb):
    txt=entry.get_text()
    nb=int(txt)


# -----------------------------------------------------------------------------
#                        création du layout et des labels
# -----------------------------------------------------------------------------

def build_interface():

    global a
    global b
    global fonction
    global n

    '''
    Fonction qui retourne le layout contenant toute notre interface
    '''
    grid = Gtk.Grid()

    grid.set_row_spacing(12)
    grid.set_column_spacing(6)

    #les labels

    titre=Gtk.Label('Calcul et visualisation d''une intégrale')
    fonction_label=Gtk.Label('Fonction à intégrer: ')
    borne_inf=Gtk.Label('Borne inférieure (a): ')
    borne_sup=Gtk.Label('Borne supérieure (b): ')
    pas_n=Gtk.Label('Nombre de noeuds (n): ')

    #les infobulles

    fonction_label.set_tooltip_text('Rentrez votre fonction, attention la variable par défaut est x!!! (** pour la puissance')
    pas_n.set_tooltip_text('Nombre de points de la méthode de quadrature (ici méthode de Simpson)')

    #les entry

    entry_fonction=Gtk.Entry()
    entry_borne_inf=Gtk.Entry()
    entry_borne_sup=Gtk.Entry()
    entry_pas_n=Gtk.Entry()


    #le bouton ok

    bouton_ok=Gtk.Button(label='ok')

    #les attaches

    grid.attach(titre,0,0,3,1)
    grid.attach(fonction_label,1,2,1,1)
    grid.attach(borne_inf,1,4,1,1)
    grid.attach(borne_sup,1,6,1,1)
    grid.attach(pas_n,1,8,1,1)
    grid.attach(bouton_ok,0,12,3,3)
    grid.attach(entry_fonction,3,2,1,1)
    grid.attach(entry_borne_inf,3,4,1,1)
    grid.attach(entry_borne_sup,3,6,1,1)
    grid.attach(entry_pas_n,3,8,1,1)

    #activations

    entry_fonction.connect('activate',on_activate_entry_txt(entry_fonction,fonction),'')
    entry_borne_inf.connect('activate',on_activate_entry_nb(entry_borne_inf,a),'')
    entry_borne_sup.connect('activate',on_activate_entry_nb(entry_borne_sup,b),'')
    entry_pas_n.connect('acctivate',on_activate_entry_entier(entry_pas_n,n),'')
    bouton_ok.connect('clicked',fdlyc.trace_int(lambda x:fonction,a,b,n),'')

    return grid

# -----------------------------------------------------------------------------
#                    les callback et les appels
# -----------------------------------------------------------------------------

def on_activate_entry_txt(entry,text):
    text=entry.get_text()

def on_activate_entry_nb(entry,nombre):
    txt=entry.get_text()
    nombre=float(txt)

def on_activate_entry_entier(entry,nb):
    txt=entry.get_text()
    nb=int(txt)

#n=int(entry_pas_n.get_text())
#fonction=entry_fonction.get_text()
#a=float(entry_borne_inf.get_text())#b=float(entry_borne_sup.get_text())


# -----------------------------------------------------------------------------
#                                   le main
# -----------------------------------------------------------------------------

if __name__ == '__main__':
    window_CI = Gtk.Window()

    window_CI.set_title('Représentation et calcul d''une intégrale définie')
    window_CI.set_border_width(10)
    window_CI.connect('delete-event', Gtk.main_quit)


    # On récupère le layout et on l'ajoute à la fenêtre
    grid = build_interface()
    window_CI.add(grid)

    #callback et recuperation des donnees

##    entry_fonction=Gtk.Entry()
##    entry_borne_inf=Gtk.Entry()
##    entry_borne_sup=Gtk.Entry()
##    entry_pas_n=Gtk.Entry()


    window_CI.show_all()
    Gtk.main()

ici j'ai essayé des variables globales mais elles sont probablement très mal placées :-(
clairement tout va mal dans la partie "activation", si quelqu'un peut m'aider??? merci d'avance!

voilà... HELP!!!

Bien amicalement,

F.D.
Connectez-vous ou Inscrivez-vous pour répondre.