saisie d'une valeur numerique

saisie d'une valeur numerique - Python - Programmation

Marsh Posté le 28-09-2004 à 09:51:21    

bonjour,
 
pourriez vous me dire comment faire pour saisir une valeur numerique dans un widget gtk2 avec pyhton
 
j'ai essayé avec Entry, mais comme j'ai un long en entree je suis bloque par une exception.
 
y a t'il un widget approprié pour la saisie ou la consultation d'une valeur numérique en python / gtk ?
 
merci d'avance pour votre aide efficace

Reply

Marsh Posté le 28-09-2004 à 09:51:21   

Reply

Marsh Posté le 28-09-2004 à 10:07:56    

c'est quoi le problème avec les long ?

Reply

Marsh Posté le 28-09-2004 à 10:12:26    

je recupere dans un curseur d'une base Mysql une aleur annotée Long, et des que je l'affecte à mon gtk.Entry, j'ai une erreur
comme quoi je ne peut pas y mettre de long
 
voici la commande :
    fldName.set_text(fldValue)
et le texte de l'erreur
TypeError: GtkEntry.set_text() argument 1 must be string, not long


Message édité par cameplait le 28-09-2004 à 10:21:08
Reply

Marsh Posté le 28-09-2004 à 10:27:41    

ben tu convertis !
 
aucune idée de ce qu'est un Long, mais si c'est un long, un seul '%s' % (l,) voire str(l) suffit

Reply

Marsh Posté le 28-09-2004 à 10:39:04    

une donnée long c'est dans mon cas :
 
5687L
si je fais str(fldValue) j'ai une erreur  
  fldValue inconnue

Reply

Marsh Posté le 28-09-2004 à 10:48:07    

si je tente la conversion suivante :
  fldName.set_text('%s') % (fldValue)
 
voici l'erreur affichée :
   TypeError: unsupported operand type(s) for %: 'NoneType' and 'long'

Reply

Marsh Posté le 28-09-2004 à 10:55:08    

bon quand t'auras fini de déconner ...

Reply

Marsh Posté le 28-09-2004 à 11:14:40    

excuses moi
mais je deconne pas
ou alors je comprends pas
 
j'ai commencé il y a pas trop longtemps, mais je tente de progresser le plus vite possible
 
c'est quoi mon erreur ?
le code ?
la methode ?

Reply

Marsh Posté le 28-09-2004 à 11:34:22    

Je vais être gentil ( surtout pour que t'eviter de te facher avec Taz ;) )
 
Il faut convertir ton long en string. Un moyen standard pour faire ça comme le dit Taz est de faire : '%s' % fldValue. Donc, tu veux mettre dans ton Entry le resultat de l'operation '%s' % fldValue.
 
fldName.set_text('%s' % fldValue)

Reply

Marsh Posté le 28-09-2004 à 11:39:13    

vous etes bon
 
merci pour l'info
merci à taz aussi
 
ca marche nickel
 
merci encore a vous 2

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed