Se connecter avec
S'enregistrer | Connectez-vous

Python ajouter du code a la GUI

Dernière réponse : dans Programmation

Bonjour, j'ai crée la GUI de mon programme avec wxpython mais le problème est que je sais pas comment ajouter du code a la GUI.

Voici mon code source

  1. import wx
  2.  
  3. class window(wx.Frame):
  4.  
  5. def __init__(self,parent,id):
  6. wx.Frame.__init__(self,parent,id,'Converter', size=(400,200))
  7. panel=wx.Panel(self)
  8.  
  9. Currency=['USD','CAD','EUR']
  10. List=wx.ListBox(panel, -1, (20,20), (100,100), Currency, wx.LB_SINGLE)
  11. List.SetSelection(0)
  12.  
  13. Currencys=['USD','CAD','EUR']
  14. Lists=wx.ListBox(panel, -1, (130,20), (100,100), Currencys, wx.LB_SINGLE)
  15. Lists.SetSelection(1)
  16.  
  17. wx.StaticText(panel, -1, "Your Currency", (40,5))
  18. wx.StaticText(panel, -1, "Convert to", (140,5))
  19. wx.StaticText(panel, -1, "Amount", (250,40))
  20.  
  21. convertbutton=wx.Button(panel,label="Convert",pos=(250,90),size=(60,30))
  22.  
  23. spinner=wx.SpinCtrl(panel, -1, "", (250,60), (90,-1))
  24. spinner.SetRange(1,100)
  25. spinner.SetValue(1)
  26.  
  27.  
  28. if __name__=='__main__':
  29. app=wx.PySimpleApp()
  30. frame=window(parent=None,id=-1)
  31. frame.Show()
  32. app.MainLoop()


Ce que je voudrais que le programme face est simple : La personne choisi si il veut convertir de l'argent USD,CAD,EUR dans la liste ensuite, il choisi en quoi le programme va convertir la valeur exemple : Convertir de l'argent USD en CAD. Il tape le nombre qu'il veut convertir de 1-100 dans la boite "amount" et clique sur "Convert".Quand tous sa est fait, le programme fait un petit calcule : si c'est en USD et il converti en CAD le calcule sera "la valeur de amount diviser par 0.954504" ensuite, le programme renvois la nouvelle valeur dans la boite "amount".

Je sais très bien comment faire tout sa sans la GUI mais avec la GUI je sais pas. Est-ce que quelqu'un pourrait m'expliquer?

Merci

Autres pages sur : python ajouter code gui

Lassé par la pub ? Créez un compte
Expert Programmation

Bonjour,

Il te manque le "bind" sur le bouton :

  1. class window(wx.Frame):
  2. def __init__(self,parent,id):
  3. # Init WX Frame
  4. wx.Frame.__init__(self,parent,id,'Converter', size=(400,200))
  5. # Define main panel
  6. self.panel=wx.Panel(self)
  7. # Define currencies array
  8. Currency=['USD','CAD','EUR']
  9. Currencies=['USD','CAD','EUR']
  10. # Define 2 currencies list in the main panel
  11. self.List=wx.ListBox(panel, -1, (20,20), (100,100), Currency, wx.LB_SINGLE)
  12. self.List.SetSelection(0)
  13. self.Lists=wx.ListBox(panel, -1, (130,20), (100,100), Currencys, wx.LB_SINGLE)
  14. self.Lists.SetSelection(1)
  15. # Some label
  16. wx.StaticText(panel, -1, "Your Currency", (40,5))
  17. wx.StaticText(panel, -1, "Convert to", (140,5))
  18. wx.StaticText(panel, -1, "Amount", (250,40))
  19. # Define the convert button
  20. self.convertbutton=wx.Button(panel,label="Convert",pos=(250,90),size=(60,30))
  21. # Set the action of the button
  22. self.Bind(wx.EVT_BUTTON, self.OnConvertClick, self.convertbutton)
  23. # Define the number input box
  24. self.spinner=wx.SpinCtrl(panel, -1, "", (250,60), (90,-1))
  25. self.spinner.SetRange(1,100)
  26. self.spinner.SetValue(1)
  27.  
  28. def OnConvertClick(self, event):
  29. # Code pour convertir ton input ...
  30. self.spinner.GetValue()
  31. # etc.
  32.  
  33. if __name__=='__main__':
  34. app=wx.PySimpleApp()
  35. frame=window(parent=None,id=-1)
  36. frame.Show()
  37. app.MainLoop()


Regarde la ligne "self.bind( ... )".
Lassé par la pub ? Créez un compte
Tom's guide dans le monde