Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. How to pass the parameters between the SIGNAL and SLOTS
Forum Updated to NodeBB v4.3 + New Features

How to pass the parameters between the SIGNAL and SLOTS

Scheduled Pinned Locked Moved Solved General and Desktop
45 Posts 3 Posters 15.0k Views 1 Watching
  • 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.
  • mrjjM Offline
    mrjjM Offline
    mrjj
    Lifetime Qt Champion
    wrote on last edited by
    #2

    Hi
    Do you have Q_OBJECT in both classes ?

    Check if the connect returns true

    qDebug() << "mysignal:" << connect(&get,SIGNAL(newtextChanged_1(QString)),this,SLOT(encore_2(QString)));

    1 Reply Last reply
    0
    • A Offline
      A Offline
      Alex42
      wrote on last edited by
      #3

      @mrjj thank you for your response, ,, yes i have the Q_object in the bothe classes
      But When i try to test this code i have an error " no matching member function for call to "connect "

      mrjjM 1 Reply Last reply
      0
      • A Alex42

        @mrjj thank you for your response, ,, yes i have the Q_object in the bothe classes
        But When i try to test this code i have an error " no matching member function for call to "connect "

        mrjjM Offline
        mrjjM Offline
        mrjj
        Lifetime Qt Champion
        wrote on last edited by mrjj
        #4

        @Alex42
        Hi
        But is the
        connect function not inside a class function?

        If not call it like

        QObject::connect( ....

        and you cannot use "this" but must use a pointer to the instance.

        connect(&get,SIGNAL(newtextChanged_1(QString)),this,SLOT(encore_2(QString)));

        If its not inside class, there is no this.

        So please show the code around the connect.

        1 Reply Last reply
        0
        • A Offline
          A Offline
          Alex42
          wrote on last edited by
          #5

          @Alex42 said in How to pass the parameters between the SIGNAL and SLOTS:

          no matching member function for call to "connect "
          ok , ok , I Made a Mistake
          ignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true

          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true
          mysignal: true

          1 Reply Last reply
          0
          • A Offline
            A Offline
            Alex42
            wrote on last edited by
            #6

            so i think the probleme is not around the connecte , becouse WITHE THE qlcdNumber work will , but withe the QLineEdit It does not work

            1 Reply Last reply
            0
            • A Offline
              A Offline
              Alex42
              wrote on last edited by
              #7

              for more information , i created the principle interface (MainWindow), and in this interface i have two QPushbutton ,the first button open the firste interface (Mesure) , and the second Button open the seconde interface

              • i don't get any messages about the connect failing
                -( i can to change the data between the firste interface (Mesure) and the seconde interface (Mesureone ), but with the QLineEdit i can't to transmite data between this interfaces
              • i used the debugger , and the slot is called and the connect executed . But i can't to interact between this interfaces with the QLineEdit (incredible)
              mrjjM 1 Reply Last reply
              0
              • A Alex42

                for more information , i created the principle interface (MainWindow), and in this interface i have two QPushbutton ,the first button open the firste interface (Mesure) , and the second Button open the seconde interface

                • i don't get any messages about the connect failing
                  -( i can to change the data between the firste interface (Mesure) and the seconde interface (Mesureone ), but with the QLineEdit i can't to transmite data between this interfaces
                • i used the debugger , and the slot is called and the connect executed . But i can't to interact between this interfaces with the QLineEdit (incredible)
                mrjjM Offline
                mrjjM Offline
                mrjj
                Lifetime Qt Champion
                wrote on last edited by
                #8

                @Alex42

                Hi
                Your connect seems to be called many times.
                Normally you should only call it once as it will send multiple times if you connect multiple times and
                that is normally not what you want.

                Anyway,

                Are you saying that

                void Mesure :: calculate_3 ()
                {
                
                    S++;
                
                    if (S>0)
                    {
                    emit newtextChanged_1(QString::number (ui->lcdNumber_1->value()));  /// works
                    but  
                    emit newtextChanged_1(mence->text()); // wont work ?
                
                
                1 Reply Last reply
                0
                • A Offline
                  A Offline
                  Alex42
                  wrote on last edited by
                  #9

                  @mrjj said in How to pass the parameters between the SIGNAL and SLOTS:

                  Your connect seems to be called many times.

                  there is no probleme if you call it many time or you call it once , i tried many situation ( call it once , and call it many time ) but that not work

                  1 Reply Last reply
                  0
                  • A Offline
                    A Offline
                    Alex42
                    wrote on last edited by
                    #10

                    @mrjj said in How to pass the parameters between the SIGNAL and SLOTS:

                    emit newtextChanged_1(mence->text()); // wont work ?

                    emit newtextChanged_1(mence->text()); // wont work ? exactly what i whant to do buthe d'ont work

                    mrjjM 1 Reply Last reply
                    0
                    • A Alex42

                      @mrjj said in How to pass the parameters between the SIGNAL and SLOTS:

                      emit newtextChanged_1(mence->text()); // wont work ?

                      emit newtextChanged_1(mence->text()); // wont work ? exactly what i whant to do buthe d'ont work

                      mrjjM Offline
                      mrjjM Offline
                      mrjj
                      Lifetime Qt Champion
                      wrote on last edited by
                      #11

                      @Alex42

                      Hi
                      does
                      QString test("hello");
                      emit newtextChanged_1(test);

                      works ?

                      Both should work if the
                      QString::number (ui->lcdNumber_1->value()) works.

                      1 Reply Last reply
                      0
                      • A Offline
                        A Offline
                        Alex42
                        wrote on last edited by
                        #12

                        @mrjj , QString test("hello");
                        emit newtextChanged_1(test);

                        works ?

                        yes it works very well

                        mrjjM 1 Reply Last reply
                        0
                        • A Offline
                          A Offline
                          Alex42
                          wrote on last edited by
                          #13

                          are you undestad that may QLineEdite change every 1000ms ?

                          1 Reply Last reply
                          1
                          • A Alex42

                            @mrjj , QString test("hello");
                            emit newtextChanged_1(test);

                            works ?

                            yes it works very well

                            mrjjM Offline
                            mrjjM Offline
                            mrjj
                            Lifetime Qt Champion
                            wrote on last edited by mrjj
                            #14

                            @Alex42

                            Ok that is a bit o.O

                            so try

                            QString text = mence->text();
                            qDebug() << "sending:" << text;
                            emit ewtextChanged_1(text);

                            and see if the mence is the one you think it is as that is my only guess then as
                            the signal clearly works :)

                            Yes, I understand you change the text of the lineEdit every sec,but that should not matter
                            as we just get what ever was set last when we ask.

                            1 Reply Last reply
                            0
                            • A Offline
                              A Offline
                              Alex42
                              wrote on last edited by
                              #15

                              yes exactly what i want , befor i tried this and works very well ,
                              but the probleme is in the second interface i can't receve this data ![alt text](d1227136-64f2-4151-9673-f2de8d04d62e-Capture.PNG image url)
                              ( in the seconde interface i receve only 0( the fiste values) , i can't receive the values when is chenged

                              mrjjM 1 Reply Last reply
                              0
                              • A Alex42

                                yes exactly what i want , befor i tried this and works very well ,
                                but the probleme is in the second interface i can't receve this data ![alt text](d1227136-64f2-4151-9673-f2de8d04d62e-Capture.PNG image url)
                                ( in the seconde interface i receve only 0( the fiste values) , i can't receive the values when is chenged

                                mrjjM Offline
                                mrjjM Offline
                                mrjj
                                Lifetime Qt Champion
                                wrote on last edited by
                                #16

                                @Alex42

                                So in interface 2, you only see the "0" and never "12222" etc ?

                                But you could send "hello" and other string ?
                                That I cant explain. seems impossible.

                                Just so I understand.

                                You have a main window and 2 buttons. Each button opens a new Form/window and
                                form1 has a timer or something that makes a lineEdit count/set some value.
                                This value you try to emit to form2 when calculate_3 is called ?

                                1 Reply Last reply
                                0
                                • A Offline
                                  A Offline
                                  Alex42
                                  wrote on last edited by
                                  #17

                                  @mrjj said in How to pass the parameters between the SIGNAL and SLOTS:

                                  So in interface 2, you only see the "0" and never "12222" etc ?

                                  So in interface 2, you only see the "0" and never "12222" etc ? yes exactly
                                  But you could send "hello" and other string ? yes i can send hello
                                  You have a main window and 2 buttons. Each button opens a new Form/window and
                                  form1 has a timer or something that makes a lineEdit count/set some value.
                                  This value you try to emit to form2 when calculate_3 is called ? exactly what i want to do

                                  mrjjM 1 Reply Last reply
                                  0
                                  • A Alex42

                                    @mrjj said in How to pass the parameters between the SIGNAL and SLOTS:

                                    So in interface 2, you only see the "0" and never "12222" etc ?

                                    So in interface 2, you only see the "0" and never "12222" etc ? yes exactly
                                    But you could send "hello" and other string ? yes i can send hello
                                    You have a main window and 2 buttons. Each button opens a new Form/window and
                                    form1 has a timer or something that makes a lineEdit count/set some value.
                                    This value you try to emit to form2 when calculate_3 is called ? exactly what i want to do

                                    mrjjM Offline
                                    mrjjM Offline
                                    mrjj
                                    Lifetime Qt Champion
                                    wrote on last edited by
                                    #18

                                    @Alex42
                                    Ok. how is the LineEdit updated ?
                                    a Qtimer ?

                                    1 Reply Last reply
                                    0
                                    • A Offline
                                      A Offline
                                      Alex42
                                      wrote on last edited by
                                      #19

                                      yes a Qtimer

                                      mrjjM 1 Reply Last reply
                                      0
                                      • A Alex42

                                        yes a Qtimer

                                        mrjjM Offline
                                        mrjjM Offline
                                        mrjj
                                        Lifetime Qt Champion
                                        wrote on last edited by
                                        #20

                                        @Alex42

                                        Ok. hang on for 20 mins. Ill try myself as it does seem strange :)

                                        1 Reply Last reply
                                        0
                                        • A Offline
                                          A Offline
                                          Alex42
                                          wrote on last edited by
                                          #21

                                          @mrjj said in How to pass the parameters between the SIGNAL and SLOTS:

                                          Ok. hang on for 20 mins. Ill try myself as it does seem strange :)

                                          ok thank you very match for your helpe

                                          1 Reply Last reply
                                          0

                                          • Login

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