Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. French
  4. Problème avec mes QLineEdit
QtWS25 Last Chance

Problème avec mes QLineEdit

Scheduled Pinned Locked Moved Unsolved French
7 Posts 4 Posters 668 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    Max
    wrote on 28 Jan 2025, 12:57 last edited by
    #1

    Bonjour,

    J'ai un problème avec mes QLineEdit dans un formulaire : la disparition dans un cas du bouton d'effacement du champ.

    Mon appli permet soit :

    • de renseigner mes QLineEdit l'un après l'autre avant de diriger le tout vers une base de données ;
    • de renseigner tous les QLineEdit à partir de la base de données pour permettre leur modification.

    Dans le premier cas je traite les modifications de chaque champ afin de rechercher des correspondances dans la base de données. Pour cela je traite les signaux émis par les QLineEdit.

    Dans le second cas je bloque les signaux afin d'éviter des recherches inutiles dans la base de données.

    Le problème est le suivant : dans le second cas les boutons d'effacement du champ ne sont pas affichés si initialement le QLineEdit est vide.

    Je pense que le signal émis lors de la modification du QLineEdit n'étant pas émis, le bouton d'effacement n'est pas affiché. Mais je n'ai pas trouvé comment réafficher ce bouton d'effacement sans appeler les slots liés.

    J 1 Reply Last reply 28 Jan 2025, 13:08
    0
    • M Max
      28 Jan 2025, 12:57

      Bonjour,

      J'ai un problème avec mes QLineEdit dans un formulaire : la disparition dans un cas du bouton d'effacement du champ.

      Mon appli permet soit :

      • de renseigner mes QLineEdit l'un après l'autre avant de diriger le tout vers une base de données ;
      • de renseigner tous les QLineEdit à partir de la base de données pour permettre leur modification.

      Dans le premier cas je traite les modifications de chaque champ afin de rechercher des correspondances dans la base de données. Pour cela je traite les signaux émis par les QLineEdit.

      Dans le second cas je bloque les signaux afin d'éviter des recherches inutiles dans la base de données.

      Le problème est le suivant : dans le second cas les boutons d'effacement du champ ne sont pas affichés si initialement le QLineEdit est vide.

      Je pense que le signal émis lors de la modification du QLineEdit n'étant pas émis, le bouton d'effacement n'est pas affiché. Mais je n'ai pas trouvé comment réafficher ce bouton d'effacement sans appeler les slots liés.

      J Online
      J Online
      JonB
      wrote on 28 Jan 2025, 13:08 last edited by
      #2

      @Max
      Si vous utilisez QDataWidgetMapper Class est ce que ca marche sans ce probleme?

      1 Reply Last reply
      0
      • M Offline
        M Offline
        Max
        wrote on 28 Jan 2025, 17:35 last edited by
        #3

        Merci @JonB , je ne connaissais cette classe.
        Mais à voir son API je ne pense pas qu'elle soit adaptée à mon cas.
        Mon formulaire sert à la fois à :

        • saisir de nouvelles entrées pour la BDD --> ça je n'ai pas compris que la classe sait faire ;
        • au fur et à mesure des saisies dans le formulaire, filtrer et afficher dans un QTableView "TW" les entrées de la BDD qui pouraient correspondre aux saisies ;
        • afficher les données sur séléction d'une ligne dans TW, les modifier et MàJ de la BDD.
        J 1 Reply Last reply 28 Jan 2025, 18:58
        0
        • M Max
          28 Jan 2025, 17:35

          Merci @JonB , je ne connaissais cette classe.
          Mais à voir son API je ne pense pas qu'elle soit adaptée à mon cas.
          Mon formulaire sert à la fois à :

          • saisir de nouvelles entrées pour la BDD --> ça je n'ai pas compris que la classe sait faire ;
          • au fur et à mesure des saisies dans le formulaire, filtrer et afficher dans un QTableView "TW" les entrées de la BDD qui pouraient correspondre aux saisies ;
          • afficher les données sur séléction d'une ligne dans TW, les modifier et MàJ de la BDD.
          J Online
          J Online
          JonB
          wrote on 28 Jan 2025, 18:58 last edited by JonB
          #4

          @Max
          Je me demandais si cela avait le même problème que le vôtre avec le "champ vide".

          1 Reply Last reply
          0
          • S Offline
            S Offline
            SGaist
            Lifetime Qt Champion
            wrote on 28 Jan 2025, 20:49 last edited by
            #5

            Bonsoir,

            1. la classe ne le fait pas directement mais peut être utilisée pour
            2. ce n'est pas la responsabilité de cette classe
            3. c'est exactement pour ce genre de scénario qu'est fait cette classe.

            Cet exemple et ceux qui y sont mis en lien donne une bonne idée de comment utiliser cette classe.

            Interested in AI ? www.idiap.ch
            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

            1 Reply Last reply
            0
            • M Offline
              M Offline
              Max
              wrote on 29 Jan 2025, 16:46 last edited by
              #6

              Merci pour vos réponses.
              La classe est très intéressante mais je ne vois pas encore comment l'appliquer à mon cas. Les exemples montrent bien le lien data-->IHM, mais pas l'inverse. Je vais laisser murir un peu l'idée.
              De toute façon, dans l'état où est mon projet - en test final - ce serait un peu lourd à intégrer, sinon dans une évolution future.

              1 Reply Last reply
              0
              • G Offline
                G Offline
                GrecKo
                Qt Champions 2018
                wrote on 29 Jan 2025, 17:51 last edited by
                #7

                Si tu mets en place un mapping entre colonne et widget via addMapping, les widgets peuvent ensuite écrire dans le model en fonction de la SubmitPolicy. Soit automatiquement à la perte de focus, soit en appelant manuellement submit().

                1 Reply Last reply
                2

                3/7

                28 Jan 2025, 17:35

                • Login

                • Login or register to search.
                3 out of 7
                • First post
                  3/7
                  Last post
                0
                • Categories
                • Recent
                • Tags
                • Popular
                • Users
                • Groups
                • Search
                • Get Qt Extensions
                • Unsolved