Partage
  • Partager sur Facebook
  • Partager sur Twitter

QT réalisation d'une calculatrice

concaténation comment faire ?

    2 juillet 2007 à 9:44:00

    Bonjour à tous voila je suis en train de réaliser une calculatrice avec QT à l'image de la calculatrice que l'on trouve dans : programme-accessoire-calculatrice(affichage standard).
    Ainsi graphiquement j'ai un lineEdit, et des pushButton (1 pour chaque chiffre de 0 à 9) et un pour chaque signe(+,-,*,/) et un pour "=". Mon probleme est le suivant je récupère le contenu des boutons 0 à 9 comme ceci:

      QPushButton * leBoutonClique=(QPushButton *)sender();// on associe chaque bouton a un même évènement
      QString leTexteDuBoutonClique=leBoutonClique->text();//on récupère le texte des boutons
                           
    lineEditsaisir->setText(leTexteDuBoutonClique);// on affiche le texte dans le lineEdit

     

    Mais lorsque je tape sur les boutons le chiffre tapé précédemment s'efface , j'aimerais que à chaque fois que je tape sur un chiffre il se concatène au précédent. Comment utiliser la concatenation avec QT ?
    • Partager sur Facebook
    • Partager sur Twitter
      2 juillet 2007 à 14:02:36

      Je te conseille d'aller faire un tour sur la doc officiel de Qt en particulier cette page je pense que ce qui t'intéresseras le plus sera le chapitre Manipulating String Data
      • Partager sur Facebook
      • Partager sur Twitter
        2 juillet 2007 à 17:16:39

        Il y a aussi la solution de faire la concaténation à la main.


        PSEUDO-CODE

        Utilisateur clique sur le bouton '5'
        Je récupère la chaîne contenue dans le LineEdit
        J'ajoute a cette chaîne le caractère '5'
        Je remets la chaîne dans le LineEdit



        • Partager sur Facebook
        • Partager sur Twitter
        Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
          3 juillet 2007 à 14:16:18

          L'idéal, dans ces cas, c'est de dériver les types fournis par Qt, et les spécialiser, rajouter des signaux et des slots.
          Dans ton cas, tu dérive QLineEdit, tu lui rajoute un slot qui prend un caractère en argument, et qui l'ajoute à la fin de la ligne. Ensuite tu dérives les QPushButton, en argument du constructeur, tu lui donne un caractère que tu stocke dans un nouvel attribut. Ensuiste tu ajoute une nouvelle méthode (en public slots), sans argument, qui emet un nouveau signal, qui lui va envoyer le caractère. Puis tu connectes le signal "Clicked" à ce nouveau slot, et le nouveau signal, tu le connectes au nouveau slot de ta classe dérivée de QLineEdit. L'idée est là..
          • Partager sur Facebook
          • Partager sur Twitter
            3 juillet 2007 à 15:17:36

            Que dirais-tu de conserver la valeur dans une variable complètement à part et que de "rafraichir" l'affichage à chaque clique sur un bouton. Ainsi tu pourras facilement séparer le traitement de l'affichage.
            • Partager sur Facebook
            • Partager sur Twitter

            QT réalisation d'une calculatrice

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown