Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1789 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  [WxDesigner] Radiobox et events [MAJ]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[WxDesigner] Radiobox et events [MAJ]

n°1820937
Sims57
Heard the trance and dream...
Posté le 02-12-2008 à 20:32:57  profilanswer
 

Bonjour à tous.  :hello:  
 Je m'intéresse depuis quelques temps à ce beau langage qu'est Python. Je m'y suis mis pour concevoir un petit programme d'aide à la décision. Pour faire quelquechose d'agréable à regarder, j'ai cherché un RAD pour aller avec la bibliothèque WXPython (plus complète que Tkinter je pense). J'ai donc emprunté la licence WxDesigner qui a arrêté la programmation depuis un moment.
 J'ai créé quatre secteurs avec boutons radio (2 ou 3 choix possibles) et j'aimerais que en fonction des choix dans les boutons radio, un texte s'affiche donnant un conseil à l'utilisateur .
 J'aimerais savoir comment procèder.
 
MAJ: Finalement, j'ai relu le code donné par WxDesigner et j'ai remarqué que je n'avait pas de fonction pour récuperer la variable choisie par l'utilisateur dans les radiobox . j'aimerais savoir comment récuperer ces variables (pour créer une fonction à la fin du programme) et comment faire fonctionner un event_button pour printer un texte.
Je vous laisse le code généré par WxDesigner pour les radiobox

Spoiler :

item15 = wx.RadioBox( parent, ID_RADIOBOX, "Quantité", wx.DefaultPosition, wx.DefaultSize,  
        ["Choix 1","Choix 2","Choix 3"] , 1, wx.RA_SPECIFY_COLS )


 
 
Je vous remercie de m'avoir lut.  :) je vous salue les devs Python. (avec beaucoup d'admiration pour les animateurs de la section).


Message édité par Sims57 le 05-12-2008 à 23:37:11

---------------
Une seule DLL vous manque et tout est déréglé...
mood
Publicité
Posté le 02-12-2008 à 20:32:57  profilanswer
 

n°1823109
e_esprit
Posté le 07-12-2008 à 11:38:10  profilanswer
 

http://www.wxpython.org/docs/api/w [...] class.html
- item15.GetSelection() => te donne le numero de la selection
- item15.GetStringSelection() => te donne la valeur texte de la selection courante

 

Sinon il te faut gérer l'événement wx.EVT_BUTTON sur un bouton. Par exemple :

Code :
  1. self.okButton = wx.Button(id=wxID_CONFDIALOGOKBUTTON,
  2.      label=u'Valider', name=u'okButton', parent=self, pos=wx.Point(48,
  3.      192), size=wx.Size(88, 27), style=0)
  4. self.okButton.Bind(wx.EVT_BUTTON, self.OnOkButton,
  5.       id=wxID_CONFDIALOGOKBUTTON)
  6.  
  7. #[...]
  8.  
  9. def OnOkButton(self, event):
  10.    # Tes actions ici
  11.    # ...
 

Je ne connais pas wxDesigner, mais Boa COnstructor est pas trop mal comme IDE pour wxPython ;)


Message édité par e_esprit le 07-12-2008 à 11:39:49

---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
n°1823165
Sims57
Heard the trance and dream...
Posté le 07-12-2008 à 13:56:06  profilanswer
 

Je te remercie beaucoup de tes explications qui sont très claires.  :) Maintenant, je sait ce que je voulais savoir.
 
Je vais pouvoir finir mon code  :D .
 
Encore une fois [:sqel] .


---------------
Une seule DLL vous manque et tout est déréglé...
n°1826766
Sims57
Heard the trance and dream...
Posté le 14-12-2008 à 13:04:39  profilanswer
 

Bon, finalement, mon code n'est pas autant propre que ce que j'espérais.
 
Je vient d'installer Boa Constructor et j'ai réussit à obtenir une interface beaucoup plus proche de ce que je veut qu'avec WxDesigner.
J'ai donc mes 3 radiobox (à 3 et 2 choix). J'ai posé un bouton de validation et créé une staticbox.
Mon soucis est que j'aimerais créer un texte dynamique qui s'afficherais dans la static box (peut être utiliser la fonction Genstatictext) mais je ne trouve pas l'endroit où coder mon évennement (soit l'affichage d'un texte dépendant des choix de l'utilisateur dans les radiobox.)
 
Je vous remercie de m'avoir accordé attention. [:emanu]


---------------
Une seule DLL vous manque et tout est déréglé...
n°1826784
e_esprit
Posté le 14-12-2008 à 13:39:18  profilanswer
 

A quel moment (sur quelle interaction de l'utilisateur) ton texte doit-il être modifié ?


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
n°1826785
Sims57
Heard the trance and dream...
Posté le 14-12-2008 à 13:41:41  profilanswer
 

Mon texte doit apparaitre (ou être modifié si i la déja été généré) lors du clic gauche sur le bouton "validation".


---------------
Une seule DLL vous manque et tout est déréglé...
n°1826788
e_esprit
Posté le 14-12-2008 à 13:51:10  profilanswer
 

Et bien tu rajoutes un evenement ButtonEvt sur ton bouton (Onglet Evt de la fenetre "Inspector" ).
Ca va te rajouter une méthode dans ton code, avec un nom de type OnButtonNameButtonEvt (enfin je garantie pas le nom, c'est de mémoire), tu n'as plus qu'à completer cette méthode.


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
n°1826790
Sims57
Heard the trance and dream...
Posté le 14-12-2008 à 14:02:02  profilanswer
 

Je vient de générer le code avec ce qu'il faut dedans. J'ai effectivement la methode mais comment savoir où il vas me PRINT le texte généré? (Ou en gros => quelle partie de fonction écrire pour que tout s'écrive au bon endroit?)


---------------
Une seule DLL vous manque et tout est déréglé...
n°1826795
e_esprit
Posté le 14-12-2008 à 14:06:48  profilanswer
 

Il faut utiliser la méthode SetLabel de ton composant StaticText


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
n°1826834
Sims57
Heard the trance and dream...
Posté le 14-12-2008 à 15:19:35  profilanswer
 

Donc j'écris ma fonction et à la place d'utiliser print, j'écris statictext1.Setlabel(self, label) suivi de ce qui doit être affiché?

 

EDIT: j'ai trouvé: ce seras staticbox1.setlabel("texte à afficher" ).

 

Je te remercie de m'avoir accordé de ton temps. Cela ne doit pas être facile de répondre un débutant qui n'a vu que le basic et le visualbasic. :D
Finalement, le python c'est pas tellement complexe.

 

Encore merci.


Message édité par Sims57 le 14-12-2008 à 15:26:11

---------------
Une seule DLL vous manque et tout est déréglé...
mood
Publicité
Posté le 14-12-2008 à 15:19:35  profilanswer
 

n°1826836
e_esprit
Posté le 14-12-2008 à 15:23:02  profilanswer
 

Ca doit plutot être quelque chose comme ça ;) :

Code :
  1. self.statictext1.SetLabel("Blablabla, blablabla : blabla !!" )


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
n°1826839
Sims57
Heard the trance and dream...
Posté le 14-12-2008 à 15:27:56  profilanswer
 

Bon comme dit, merci bien ! j'ai un code fonctionnel maintenant [:ginie].


---------------
Une seule DLL vous manque et tout est déréglé...

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  [WxDesigner] Radiobox et events [MAJ]

 

Sujets relatifs
Problème avec Java pour l'instal d'un soft MAJ[C#]DataGridView et MàJ
[JS]Events et javascript "inline" (Mootools,mais pas seulement)MAJ aide probléme mini calculatrice en " C " (debutant)
Optimisation - MAJ d'une tableMAJ clé de registre au logon
[JAVA] GUI, listener et events (debutant)PHP - Maj automatique de nom de fichiers - soft ou script
script d'automatisation de MàJ d'un antivirus[PHP] indiquer la date de la dernière MAJ du site...
Plus de sujets relatifs à : [WxDesigner] Radiobox et events [MAJ]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR