Bonjour,
Je rencontre un problème ennuyeux dans l'affichage d'un montant avec décimales dans un champs NumCtrl de WxPython.
Voici la définition du champs :
class FormPersonne ( wx.Frame ):
def __init__( self, parent ):
wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = wx.EmptyString, pos = wx.DefaultPosition, size = wx.Size( 843,512 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL )
self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )
bSizer1 = wx.BoxSizer( wx.VERTICAL )
self.m_staticText1 = wx.StaticText( self, wx.ID_ANY, u"NOM", wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText1.Wrap( -1 )
bSizer1.Add( self.m_staticText1, 0, wx.ALL, 5 )
self.m_textNom = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 250,-1 ), 0 )
bSizer1.Add( self.m_textNom, 0, wx.ALL, 5 )
self.m_staticText2 = wx.StaticText( self, wx.ID_ANY, u"AGE", wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText2.Wrap( -1 )
bSizer1.Add( self.m_staticText2, 0, wx.ALL, 5 )
self.m_intAge = IntCtrl( self, wx.ID_ANY, 0, wx.DefaultPosition, wx.DefaultSize, 0 )
bSizer1.Add( self.m_intAge, 0, wx.ALL, 5 )
self.m_staticText3 = wx.StaticText( self, wx.ID_ANY, u"MONTANT", wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText3.Wrap( -1 )
bSizer1.Add( self.m_staticText3, 0, wx.ALL, 5 )
self.m_montant = NumCtrl( self, wx.ID_ANY, value=0, pos=wx.DefaultPosition, size=wx.DefaultSize,style= 0,integerWidth = 15, fractionWidth = 2,autoSize=True )
bSizer1.Add( self.m_montant, 0, wx.ALL, 5 )
self.SetSizer( bSizer1 )
self.Layout()
self.Centre( wx.BOTH )
En particulier la zone de saisie est :
self.m_montant = NumCtrl( self, wx.ID_ANY, value=0, pos=wx.DefaultPosition, size=wx.DefaultSize,style= 0,integerWidth = 15, fractionWidth = 2,autoSize=True )
Ma variable montant contient un nombre et
Print(montant) affiche 1234,56
Par contre mon instruction :
frame.m_montant.SetValue(montant)
affiche 123456,00
Je suis persuadé que ma définition de mon champs de type NumCtrl est incorrecte mais je n'arrive pas à en trouver la raison.
D'avance merci et surtout meilleurs développements.
Partager