... | ... | @@ -29,6 +29,9 @@ On définit deux courbes fixes avec **plot**, une sinusoïde et un point isolé |
|
|
On place une textbox dans la vignette ax_tbox. On n'a pas besoin de la nommer car elle est définie dans le programme principal, le "garbage collector" ne va donc pas l'expulser. , on a défini une couleur de fond et une couleur "en cas de survol" : quand on passe la souris au-dessus ("hover"), la couleur changera.
|
|
|
|
|
|
### définition de la fonction associée à un événement ("callback")
|
|
|
| la souris ne survole pas la textbox | la souris survole la textbox |
|
|
|
|-------------------------------------|------------------------------|
|
|
|
| ![Sinus_modifiable](uploads/aa1f7671490ea6eecddd2a91bda8b21c/Sinus_modifiable.JPG) | cell |
|
|
|
|
|
|
L'événement **on_submit**="une valeur a été modifiée dans la textbox" est associé à une fonction, appelée update, qu'il faut à présent définir\*\*. Cette fonction va tout simplement lire la valeur dans la textbox (argument "val" de la fonction ), transformée en entier positif, et tirer au hasard autant de valeurs aléatoires entre un et 6, et placer les points (x, sin(x)) pour tous les points x de cette série. Au lieu de définir une nouvelle courbe à chaque fois, on va modifier scat, grâce à la méthode **set_offsets** qui est analogue à la méthode **set_data** pour plot. On en profite aussi pour modifier une liste d'étiquettes que l'on va placer sur le graphique grâce à la méhtode **annotate**, qu'il est utile de connaître. On verra donc :
|
|
|
|
... | ... | @@ -594,4 +597,4 @@ def retracer_parametree(echantillon, a, b): |
|
|
fig_pp.canvas.draw_idle()
|
|
|
```
|
|
|
|
|
|
Le code Chegodaiev.py est fourni, n'hésitez pas à le modifier à votre sauce, éventuellement à tester d'autres widgets, et à me faire remonter vos remarques. Pour un autre exemple, intégré à un projet bâti autour d'une interface Tkinter, voir ST2Shape.![Sinus_modifiable](uploads/aa1f7671490ea6eecddd2a91bda8b21c/Sinus_modifiable.JPG) |
|
|
\ No newline at end of file |
|
|
Le code Chegodaiev.py est fourni, n'hésitez pas à le modifier à votre sauce, éventuellement à tester d'autres widgets, et à me faire remonter vos remarques. Pour un autre exemple, intégré à un projet bâti autour d'une interface Tkinter, voir ST2Shape.![sinusoide](uploads/6c86fcf0d9febe8626c3c38b407f5a6b/sinusoide.png) |
|
|
\ No newline at end of file |