IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

QLineEdit : afficher le séparateur des milliers en temps réel


Sujet :

Qt

  1. #1
    Débutant
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    688
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 688
    Points : 176
    Points
    176
    Par défaut QLineEdit : afficher le séparateur des milliers en temps réel
    Bonjour,

    Est-il possible d'afficher dans un QLineEdit , le séparateur de millier ( par exemple l'espace) au fur et à mesure que l'utilisateur rentre un nombre

    Merci

  2. #2
    Membre émérite
    Avatar de ymoreau
    Homme Profil pro
    Ingénieur étude et développement
    Inscrit en
    Septembre 2005
    Messages
    1 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur étude et développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 154
    Points : 2 834
    Points
    2 834
    Par défaut
    A ce que je sais il n'y a pas de moyen de personnaliser l'affichage d'un nombre. Pour la saisie de nombre flottants, QDoubleSpinBox peut être plus adapté que QLineEdit.

    Après pour obtenir ce que tu veux je crains qu'il ne faille recoder des mécanismes bas niveaux dans les widgets, ce qui n'est pas facile. Et je ne sais pas du tout par où il faudrait commencer.

    A mon avis simplement traiter le texte saisi (en y ajoutant les espaces) à chaque fois qu'il est changé ne fonctionnerait pas bien, car le focus serait modifié. Mais tu peux toujours essayer pour voir. (ps : cela ne serait possible qu'avec du texte du coup, avec QLineEdit)

  3. #3
    Débutant
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    688
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 688
    Points : 176
    Points
    176
    Par défaut
    Citation Envoyé par YoniBlond Voir le message
    A ce que je sais il n'y a pas de moyen de personnaliser l'affichage d'un nombre. Pour la saisie de nombre flottants, QDoubleSpinBox peut être plus adapté que QLineEdit.

    Après pour obtenir ce que tu veux je crains qu'il ne faille recoder des mécanismes bas niveaux dans les widgets, ce qui n'est pas facile. Et je ne sais pas du tout par où il faudrait commencer.

    A mon avis simplement traiter le texte saisi (en y ajoutant les espaces) à chaque fois qu'il est changé ne fonctionnerait pas bien, car le focus serait modifié. Mais tu peux toujours essayer pour voir. (ps : cela ne serait possible qu'avec du texte du coup, avec QLineEdit)
    oui le problème de cette méthode et qu'il faut également gérer la position du curseur qui devient incohérente avec l'action de l'utilisateur dû à l'insertion de caratères ' ', bref effectivement dans un slot textChanged ou autre c'est possible mais à quel prix .... d'où ma question quoi

  4. #4
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2009
    Messages : 65
    Points : 104
    Points
    104
    Par défaut
    Ca ne me semble pas si difficile. Avec un bon validateur pour empêcher de rentrer de mauvais caractères et executer la modification à chaque lettre entrée, ca doit être possible non trop douloureusement.

    Il suffit que quand tu catches textEdited(), tu parcoures ta chaine, et dès que tu tombes sur un quatrième chiffre contigu, tu ajoutes un espace et déplace le curseur vers la droite si la caractère courant est avant le curseur. Et ainsi de suite jusqu'a la fin de la chaîne.

    Il y a peut être moyen d'optimiser cela un petit peu, mais déjà ça devrait marcher.

Discussions similaires

  1. [Lazarus] FormatFloat affiche un "?" pour le séparateur des milliers
    Par Jon Shannow dans le forum Lazarus
    Réponses: 5
    Dernier message: 12/12/2012, 08h35
  2. Séparateur des milliers
    Par Tchupacabra dans le forum Langage
    Réponses: 2
    Dernier message: 27/06/2007, 10h24
  3. Réponses: 3
    Dernier message: 28/04/2007, 15h07
  4. Séparateurs des milliers
    Par blowlagoon dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 26/05/2006, 10h02
  5. Réponses: 7
    Dernier message: 27/01/2006, 01h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo