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:
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.
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.
Bonjour!
Catégories
- 163.1K Toutes les catégories
- 7 Collège/Lycée
- 21.9K Algèbre
- 37.1K Analyse
- 6.2K Arithmétique
- 52 Catégories et structures
- 1K Combinatoire et Graphes
- 11 Sciences des données
- 5K Concours et Examens
- 11 CultureMath
- 47 Enseignement à distance
- 2.9K Fondements et Logique
- 10.3K Géométrie
- 62 Géométrie différentielle
- 1.1K Histoire des Mathématiques
- 68 Informatique théorique
- 3.8K LaTeX
- 39K Les-mathématiques
- 3.5K Livres, articles, revues, (...)
- 2.7K Logiciels pour les mathématiques
- 24 Mathématiques et finance
- 312 Mathématiques et Physique
- 4.9K Mathématiques et Société
- 3.3K Pédagogie, enseignement, orientation
- 10K Probabilités, théorie de la mesure
- 772 Shtam
- 4.2K Statistiques
- 3.7K Topologie
- 1.4K Vie du Forum et de ses membres
Qui est en ligne 2
2 Invités