Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. French
  4. Passage de paramètre lors d'un "connect()"
Qt 6.11 is out! See what's new in the release blog

Passage de paramètre lors d'un "connect()"

Scheduled Pinned Locked Moved Unsolved French
5 Posts 3 Posters 1.0k 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 last edited by
    #1

    Bonjour,

    Parmi les signatures de "connect" il y a la suivante :

    MyObject * obj1; // MyObject peut émettre le signal mySignal(int)
    
    connect(obj1, &MyObject::mySignal , this, [=]( **-?-** ){ /*...*/ });
    

    Comment récupérer la valeur de l'int envoyée par le signal dans la lambda ?

    Merci !
    Max

    JonBJ 1 Reply Last reply
    0
    • M Max

      Bonjour,

      Parmi les signatures de "connect" il y a la suivante :

      MyObject * obj1; // MyObject peut émettre le signal mySignal(int)
      
      connect(obj1, &MyObject::mySignal , this, [=]( **-?-** ){ /*...*/ });
      

      Comment récupérer la valeur de l'int envoyée par le signal dans la lambda ?

      Merci !
      Max

      JonBJ Offline
      JonBJ Offline
      JonB
      wrote on last edited by
      #2

      @Max

      connect(obj1, &MyObject::mySignal , this, [=]( int arg1 ){ qDebug() << arg1; });
      
      1 Reply Last reply
      2
      • M Offline
        M Offline
        Max
        wrote on last edited by
        #3

        Tout simplement... Merci !

        JonBJ 1 Reply Last reply
        0
        • M Max

          Tout simplement... Merci !

          JonBJ Offline
          JonBJ Offline
          JonB
          wrote on last edited by JonB
          #4

          @Max
          C'est exactement comme une fonction:

          void Class::slotFunction(int arg1)
          {
              qDebug() << arg1;
          }
          
          connect(obj1, &MyObject::mySignal , this, &Class::slotFunction);
          

          Le [=] est un contexte.

          1 Reply Last reply
          0
          • GrecKoG Online
            GrecKoG Online
            GrecKo
            Qt Champions 2018
            wrote on last edited by GrecKo
            #5

            Le [=] n'étant pas nécessaire ici vu qu'il n'y a rien à capturer dans la lambda.

            connect(obj1, &MyObject::mySignal , this, [](int arg1){ qDebug() << arg1; });
            
            1 Reply Last reply
            1

            • Login

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