Bonjour,
j'ai cree le spin_button suivant sur une interface graphique:
Il est donc possible de faire defiler un nombre entre 1 et 100. Le probleme est que je voudrais recuperer la nouvelle valeur choisie par l'utilisateur pour l'utiliser en parametre d'une fonction SampleSelectedImg.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 let adj = GData.adjustment ~lower:1.0 ~upper:100.0 ~value:10. ~page_incr:5.0 ~step_incr:1.0 ~page_size:0.0 () let spin_button = GEdit.spin_button ~adjustment:adj ~rate:0.0 ~digits:0 ~wrap:false ~numeric:true ~update_policy:`ALWAYS ~packing:paramBox#add ()
De cette maniere, la fonction ne recoit en parametre que la valeur deja entree dans spin_button (ici 10). Quand on change la valeur, et qu'on rappelle la fonction, elle garde l'anciene valeur en parametre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 let samplingButton = let samplingButton = GButton.button ~label:"Sampling" ~packing:optionBox#add () in ignore(samplingButton#connect#clicked ~callback:(sampleSelectedImg spin_button#value_as_int)); samplingButton
Je me suis donc dit qu'il fallait que je modifie en interne la fonction avec une methode et j'ai trouve ca :
J'ai ensuite essaye longtemps de l'utiliser avec un boutton, en vain. Voici la derniere fonction que j'ai ecrite :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 (*The value that a Spin Button is currently displaying can be changed using the following function:*) method set_value : float -> unit
J"ai ce message d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 let pasOK = let pasOK = GButton.button ~label:"pas checked " ~packing:paramBox#add () in ignore(pasOK#connect#clicked ~callback:(spin_button#set_value 3.)); pasOK
COmment puis-je modifier le champ valeur de spin_value ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Error: This expression has type unit but an expression was expected of type unit -> unit make: *** [badaboum] Error 2
Merci
Partager