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. QMetaObject::connectSlotsByName: No matching signal
Forum Update on Monday, May 27th 2025

QMetaObject::connectSlotsByName: No matching signal

Scheduled Pinned Locked Moved Unsolved General and Desktop
16 Posts 3 Posters 6.2k 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.
  • S shivaVMC

    Hi ,
    I m using Qt5.11.1

    My application is running fine for all the time and no error/warnings.But when I configure the Gateway and Local IP for ethernet from Rpi3 to my Device.I m having the below issue and my app in not opening at all.
    Please suggest on the same.

    QMetaObject::connectSlotsByName: No matching signal for on_pushButton_2_clicked()
    QMetaObject::connectSlotsByName: No matching signal for on_counterDataStreaming_clicked()
    QMetaObject::connectSlotsByName: No matching signal for on_adcDataStreaming_clicked()
    QMetaObject::connectSlotsByName: No matching signal for on_stopDataStreaming_clicked()
    QMetaObject::connectSlotsByName: No matching signal for on_checkBox_clicked(bool)
    QMetaObject::connectSlotsByName: No matching signal for on_checkBox_2_clicked(bool)
    QMetaObject::connectSlotsByName: No matching signal for on_pushButton_5_clicked()
    QMetaObject::connectSlotsByName: No matching signal for on_pushButton_6_clicked()
    QMetaObject::connectSlotsByName: No matching signal for on_pushButton_7_clicked()
    QMetaObject::connectSlotsByName: No matching signal for on_Chekck_Connection_Timer()
    CUSTOMER_MODE
    QObject::connect: No such signal QUdpSocket::stateChanged(QAbstractSocket::SocketError)
    QObject::connect: (receiver name: 'MainWindow')

    jsulmJ Offline
    jsulmJ Offline
    jsulm
    Lifetime Qt Champion
    wrote on last edited by
    #2

    @shivaVMC Can you post your connect(...) where you connect QUdpSocket::stateChanged to a slot in your MainWindow?
    And actually you can post all connects for all the signals you posted.

    https://forum.qt.io/topic/113070/qt-code-of-conduct

    1 Reply Last reply
    0
    • S Offline
      S Offline
      shivaVMC
      wrote on last edited by
      #3

      void MainWindow::on_counterDataStreaming_clicked()
      {
      QByteArray byArrSendPkt;
      CProtocol objProtocol;
      QHostAddress hostIp;
      hostIp.setAddress("13.13.13.13");//10.0.0.178
      objProtocol.mPktCmdWrite(STREAMINGSTRAT, STREAMINGREG, STREAMINGCOUNTER, byArrSendPkt);
      m_SockUdp_ReagWrt.writeDatagram(byArrSendPkt,hostIp,60012);
      }

      void MainWindow::on_adcDataStreaming_clicked()
      {
      QByteArray byArrSendPkt;
      CProtocol objProtocol;
      QHostAddress hostIp;
      hostIp.setAddress("13.13.13.13");//10.0.0.178
      objProtocol.mPktCmdWrite(STREAMINGSTRAT, STREAMINGREG, STREAMINGADCDATA, byArrSendPkt);
      m_SockUdp_ReagWrt.writeDatagram(byArrSendPkt,hostIp,60012);
      }

      void MainWindow::on_stopDataStreaming_clicked()
      {
      QByteArray byArrSendPkt;
      CProtocol objProtocol;
      QHostAddress hostIp;
      hostIp.setAddress("13.13.13.13");//10.0.0.178
      objProtocol.mPktCmdWrite(STREAMINGSTOP, STREAMINGREG, STREAMINGSTOPDATA, byArrSendPkt);
      m_SockUdp_ReagWrt.writeDatagram(byArrSendPkt,hostIp,60012);
      }
      connect(checK_ConnectionStatus,SIGNAL(timeout()),this,SLOT(on_Chekck_Connection_Timer()));

      connect(&m_sockUdp, SIGNAL(stateChanged(QAbstractSocket::SocketError)),this,SLOT(mSltOnTCPStateChanged(QAbstractSocket::SocketState)));

      jsulmJ 1 Reply Last reply
      0
      • S shivaVMC

        void MainWindow::on_counterDataStreaming_clicked()
        {
        QByteArray byArrSendPkt;
        CProtocol objProtocol;
        QHostAddress hostIp;
        hostIp.setAddress("13.13.13.13");//10.0.0.178
        objProtocol.mPktCmdWrite(STREAMINGSTRAT, STREAMINGREG, STREAMINGCOUNTER, byArrSendPkt);
        m_SockUdp_ReagWrt.writeDatagram(byArrSendPkt,hostIp,60012);
        }

        void MainWindow::on_adcDataStreaming_clicked()
        {
        QByteArray byArrSendPkt;
        CProtocol objProtocol;
        QHostAddress hostIp;
        hostIp.setAddress("13.13.13.13");//10.0.0.178
        objProtocol.mPktCmdWrite(STREAMINGSTRAT, STREAMINGREG, STREAMINGADCDATA, byArrSendPkt);
        m_SockUdp_ReagWrt.writeDatagram(byArrSendPkt,hostIp,60012);
        }

        void MainWindow::on_stopDataStreaming_clicked()
        {
        QByteArray byArrSendPkt;
        CProtocol objProtocol;
        QHostAddress hostIp;
        hostIp.setAddress("13.13.13.13");//10.0.0.178
        objProtocol.mPktCmdWrite(STREAMINGSTOP, STREAMINGREG, STREAMINGSTOPDATA, byArrSendPkt);
        m_SockUdp_ReagWrt.writeDatagram(byArrSendPkt,hostIp,60012);
        }
        connect(checK_ConnectionStatus,SIGNAL(timeout()),this,SLOT(on_Chekck_Connection_Timer()));

        connect(&m_sockUdp, SIGNAL(stateChanged(QAbstractSocket::SocketError)),this,SLOT(mSltOnTCPStateChanged(QAbstractSocket::SocketState)));

        jsulmJ Offline
        jsulmJ Offline
        jsulm
        Lifetime Qt Champion
        wrote on last edited by
        #4

        @shivaVMC Please take a look at the documentation: http://doc.qt.io/qt-5/qabstractsocket.html#stateChanged

        https://forum.qt.io/topic/113070/qt-code-of-conduct

        1 Reply Last reply
        1
        • S Offline
          S Offline
          shivaVMC
          wrote on last edited by
          #5

          Hi,
          I couldn't find anything that helps me to fix my bug,can you please suggest me on this

          jsulmJ 1 Reply Last reply
          0
          • aha_1980A Offline
            aha_1980A Offline
            aha_1980
            Lifetime Qt Champion
            wrote on last edited by
            #6

            @shivaVMC

            Quoting the documentation provided by @jsulm:

            QAbstractSocket::SocketState is not a registered metatype, so for queued connections, you will have to register it with Q_DECLARE_METATYPE() and qRegisterMetaType().

            Qt has to stay free or it will die.

            S 1 Reply Last reply
            0
            • S shivaVMC

              Hi,
              I couldn't find anything that helps me to fix my bug,can you please suggest me on this

              jsulmJ Offline
              jsulmJ Offline
              jsulm
              Lifetime Qt Champion
              wrote on last edited by
              #7

              @shivaVMC stateChanged signal has a different parameter than the one your using:

              connect(&m_sockUdp, SIGNAL(stateChanged(QAbstractSocket::SocketError)),this,SLOT(mSltOnTCPStateChanged(QAbstractSocket::SocketState)));
              

              Look once more.

              https://forum.qt.io/topic/113070/qt-code-of-conduct

              1 Reply Last reply
              1
              • aha_1980A aha_1980

                @shivaVMC

                Quoting the documentation provided by @jsulm:

                QAbstractSocket::SocketState is not a registered metatype, so for queued connections, you will have to register it with Q_DECLARE_METATYPE() and qRegisterMetaType().

                S Offline
                S Offline
                shivaVMC
                wrote on last edited by
                #8

                @aha_1980
                Itis registered as below

                qRegisterMetaType< QAbstractSocket::SocketState >();

                jsulmJ 1 Reply Last reply
                0
                • S shivaVMC

                  @aha_1980
                  Itis registered as below

                  qRegisterMetaType< QAbstractSocket::SocketState >();

                  jsulmJ Offline
                  jsulmJ Offline
                  jsulm
                  Lifetime Qt Champion
                  wrote on last edited by
                  #9

                  @shivaVMC You don't need to register anything as you're not using queued connection. Simply use the correct parameter type for the signal...

                  https://forum.qt.io/topic/113070/qt-code-of-conduct

                  aha_1980A 1 Reply Last reply
                  1
                  • jsulmJ jsulm

                    @shivaVMC You don't need to register anything as you're not using queued connection. Simply use the correct parameter type for the signal...

                    aha_1980A Offline
                    aha_1980A Offline
                    aha_1980
                    Lifetime Qt Champion
                    wrote on last edited by
                    #10

                    @jsulm said in QMetaObject::connectSlotsByName: No matching signal:

                    @shivaVMC You don't need to register anything as you're not using queued connection. Simply use the correct parameter type for the signal...

                    Oh, missed that...

                    Qt has to stay free or it will die.

                    1 Reply Last reply
                    0
                    • S Offline
                      S Offline
                      shivaVMC
                      wrote on last edited by
                      #11

                      I m not able to fix it....I need your support

                      connect(&m_sockUdp,SIGNAL(readyRead()),this,SLOT(mSltOnTCPDataReceivedFromClient()));
                      connect(ui->btnConnect,SIGNAL(clicked()),this,SLOT(mSltOnBtnConnectClick()));

                      connect(&m_sockUdp, SIGNAL(stateChanged(QAbstractSocket::SocketError)),this,SLOT(mSltOnTCPStateChanged(QAbstractSocket::SocketState)));
                      

                      Above 3 statement of code are contiguous in my function,at 3rd connect statement I m faccing issue ...
                      In SIGNAL stateChanged what will be the correct parameter?

                      jsulmJ 1 Reply Last reply
                      0
                      • S shivaVMC

                        I m not able to fix it....I need your support

                        connect(&m_sockUdp,SIGNAL(readyRead()),this,SLOT(mSltOnTCPDataReceivedFromClient()));
                        connect(ui->btnConnect,SIGNAL(clicked()),this,SLOT(mSltOnBtnConnectClick()));

                        connect(&m_sockUdp, SIGNAL(stateChanged(QAbstractSocket::SocketError)),this,SLOT(mSltOnTCPStateChanged(QAbstractSocket::SocketState)));
                        

                        Above 3 statement of code are contiguous in my function,at 3rd connect statement I m faccing issue ...
                        In SIGNAL stateChanged what will be the correct parameter?

                        jsulmJ Offline
                        jsulmJ Offline
                        jsulm
                        Lifetime Qt Champion
                        wrote on last edited by jsulm
                        #12

                        @shivaVMC
                        "In SIGNAL stateChanged what will be the correct parameter?" - why don't you read the documentation? I even posted a link to it here.

                        connect(&m_sockUdp, SIGNAL(stateChanged(QAbstractSocket::SocketState)),this,SLOT(mSltOnTCPStateChanged(QAbstractSocket::SocketState)));
                        

                        https://forum.qt.io/topic/113070/qt-code-of-conduct

                        S 1 Reply Last reply
                        2
                        • jsulmJ jsulm

                          @shivaVMC
                          "In SIGNAL stateChanged what will be the correct parameter?" - why don't you read the documentation? I even posted a link to it here.

                          connect(&m_sockUdp, SIGNAL(stateChanged(QAbstractSocket::SocketState)),this,SLOT(mSltOnTCPStateChanged(QAbstractSocket::SocketState)));
                          
                          S Offline
                          S Offline
                          shivaVMC
                          wrote on last edited by
                          #13

                          @jsulm
                          Sorry,later I have realized and replace SocketError with SocketState.

                          Currenlty I have someother issue now..I m having a look on it.

                          Thanks For the support.Get back you soon on the same

                          1 Reply Last reply
                          0
                          • S Offline
                            S Offline
                            shivaVMC
                            wrote on last edited by VRonin
                            #14

                            Hi,
                            I m not able to enter into "if" condition(first if condition),can you please suggest on the below code where I m going wrong.

                            bjProtocol.mPktRegRead(a_nAddress,byArrSendPkt); //Its entering into this   mPktRegRead funtion and return value is fine
                            qDebug()<<"Send Pkt count ===="<<byArrSendPkt.count(); //this  debug is also okay
                            

                            can you please help on this below lines where I m doing wrong

                                m_SockUdp_ReagWrt.writeDatagram(byArrSendPkt,hostIp,60014);                                                                            
                                if(m_sockUdpRegRd.waitForReadyRead(SOCKET_CMND_TIMEOUT_IN_MSEC)){  
                                    if( m_sockUdpRegRd.hasPendingDatagrams() ) {
                            //statements
                                        }
                            //statemnets
                            }
                            
                            jsulmJ aha_1980A 2 Replies Last reply
                            0
                            • S shivaVMC

                              Hi,
                              I m not able to enter into "if" condition(first if condition),can you please suggest on the below code where I m going wrong.

                              bjProtocol.mPktRegRead(a_nAddress,byArrSendPkt); //Its entering into this   mPktRegRead funtion and return value is fine
                              qDebug()<<"Send Pkt count ===="<<byArrSendPkt.count(); //this  debug is also okay
                              

                              can you please help on this below lines where I m doing wrong

                                  m_SockUdp_ReagWrt.writeDatagram(byArrSendPkt,hostIp,60014);                                                                            
                                  if(m_sockUdpRegRd.waitForReadyRead(SOCKET_CMND_TIMEOUT_IN_MSEC)){  
                                      if( m_sockUdpRegRd.hasPendingDatagrams() ) {
                              //statements
                                          }
                              //statemnets
                              }
                              
                              jsulmJ Offline
                              jsulmJ Offline
                              jsulm
                              Lifetime Qt Champion
                              wrote on last edited by
                              #15

                              @shivaVMC said in QMetaObject::connectSlotsByName: No matching signal:

                              if( m_sockUdpRegRd.hasPendingDatagrams()

                              Why do you need this if? After waitForReadyRead() you know that there is something to read.

                              https://forum.qt.io/topic/113070/qt-code-of-conduct

                              1 Reply Last reply
                              1
                              • S shivaVMC

                                Hi,
                                I m not able to enter into "if" condition(first if condition),can you please suggest on the below code where I m going wrong.

                                bjProtocol.mPktRegRead(a_nAddress,byArrSendPkt); //Its entering into this   mPktRegRead funtion and return value is fine
                                qDebug()<<"Send Pkt count ===="<<byArrSendPkt.count(); //this  debug is also okay
                                

                                can you please help on this below lines where I m doing wrong

                                    m_SockUdp_ReagWrt.writeDatagram(byArrSendPkt,hostIp,60014);                                                                            
                                    if(m_sockUdpRegRd.waitForReadyRead(SOCKET_CMND_TIMEOUT_IN_MSEC)){  
                                        if( m_sockUdpRegRd.hasPendingDatagrams() ) {
                                //statements
                                            }
                                //statemnets
                                }
                                
                                aha_1980A Offline
                                aha_1980A Offline
                                aha_1980
                                Lifetime Qt Champion
                                wrote on last edited by aha_1980
                                #16

                                @shivaVMC

                                please don't use waitForReadyRead, use the readyRead signal instead!

                                You are blocking the event loop here and it's likely that your app is not working as expected.

                                Qt has to stay free or it will die.

                                1 Reply Last reply
                                2

                                • Login

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