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 call a function from another cpp file
Forum Updated to NodeBB v4.3 + New Features

How to call a function from another cpp file

Scheduled Pinned Locked Moved General and Desktop
21 Posts 3 Posters 9.3k 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.
  • H Offline
    H Offline
    herculis
    wrote on last edited by
    #8

    I am geeting error at line 41
    @m_call = new call(this);@
    no instance of constructor
    no appropriate default constructor available

    1 Reply Last reply
    0
    • I Offline
      I Offline
      Ildar
      wrote on last edited by
      #9

      Sorry!) I updated my answer

      1 Reply Last reply
      0
      • H Offline
        H Offline
        herculis
        wrote on last edited by
        #10

        what u updated ???

        1 Reply Last reply
        0
        • I Offline
          I Offline
          Ildar
          wrote on last edited by
          #11

          See my above answer:

          @
          // call.h
          class call : public QObject
          {
          Q_OBJECT

          explicit call(QObject *parent)

          public slot:
          void open();
          }
          ...@

          1 Reply Last reply
          0
          • H Offline
            H Offline
            herculis
            wrote on last edited by
            #12

            i did what u suggested but its not working.Not getting any error but not working also.
            plz help

            1 Reply Last reply
            0
            • H Offline
              H Offline
              herculis
              wrote on last edited by
              #13

              @
              Header.h
              class ap
              {
              Q_OBJECT
              public slot:
              void open();
              }

              call.cpp
              include header.h
              {
              class ap:: open()
              {
              }
              }
              

              on.h
              include header.h
              {
              class on
              private:
              ap*m_call

              }

              on.cpp

              include header.h
              {
              

              m_call = new ap(this);
              connect(openButton,SIGNAL(clicked), m_call, SLOT(open));@

              1 Reply Last reply
              0
              • I Offline
                I Offline
                Ildar
                wrote on last edited by
                #14

                Try rename file names: you must have 4 files:
                call.h
                call.cpp
                on.h
                on.cpp

                And, please show to us all files acrtual contents, not pseudocode.

                1 Reply Last reply
                0
                • H Offline
                  H Offline
                  herculis
                  wrote on last edited by
                  #15

                  i added header file in the program but then also its not working i have to create instance, with this it will work i guess i did that also means i created one object of the class where the function is and put that object in connect command but its not working please help
                  can a one give me an exmaple or a link for "calling a function from other cpp file" so that i will get an idea how to do that.

                  1 Reply Last reply
                  0
                  • I Offline
                    I Offline
                    Ildar
                    wrote on last edited by
                    #16

                    Just create new project (Test) and add there files:

                    @
                    // call.h
                    #ifndef CALL_H
                    #define CALL_H

                    #include <QObject>

                    class call : public QObject
                    {
                    Q_OBJECT

                    public:
                    explicit call(QObject *parent = 0);

                    public slots:
                    void open();
                    };

                    #endif // CALL_H@

                    @
                    // call.cpp
                    #include "call.h"
                    #include <qdebug.h>

                    call::call(QObject *parent): QObject(parent)
                    {}

                    void call::open()
                    {
                    qDebug() << "CALL";
                    }
                    @

                    @
                    // on.h
                    #ifndef ON_H
                    #define ON_H

                    #include <QObject>
                    #include "call.h"

                    class on : public QObject
                    {
                    Q_OBJECT

                    public:
                    explicit on(QObject *parent = 0);

                    signals:
                    void mySignal();

                    private:
                    call *m_call;
                    };

                    #endif // ON_H
                    @

                    @
                    // on.cpp
                    #include "on.h"

                    on::on(QObject *parent): QObject(parent)
                    {
                    m_call = new call(this);

                    connect(this, &on::mySignal, m_call, &call::open);

                    emit mySignal();
                    }
                    @

                    @
                    // main.cpp
                    #include "on.h"

                    int main(int argc, char *argv[])
                    {
                    on *myOn = new on();
                    }
                    @

                    @
                    // Test.pro
                    HEADERS +=
                    call.h
                    on.h

                    SOURCES +=
                    call.cpp
                    on.cpp
                    main.cpp
                    @

                    1 Reply Last reply
                    0
                    • H Offline
                      H Offline
                      herculis
                      wrote on last edited by
                      #17

                      Thanks this works but in my code its not working dont know why
                      Thanks though.

                      1 Reply Last reply
                      0
                      • H Offline
                        H Offline
                        herculis
                        wrote on last edited by
                        #18

                        i am getting error in my prog when i write
                        @m_call=new call (this)@
                        ''that no instance of constructor''

                        1 Reply Last reply
                        0
                        • I Offline
                          I Offline
                          Ildar
                          wrote on last edited by
                          #19

                          Simpify the code and show it.

                          1 Reply Last reply
                          0
                          • H Offline
                            H Offline
                            herculis
                            wrote on last edited by
                            #20

                            ok now i know the problem when i define the class contructore it has arguments in it thats why i am not able to create object.Do you know any solution regrading this how can i create object of a class whose constructor has arguments like bool*a,QWidget parent = 0
                            means
                            @call(bool
                            a ,QWidget *parent = 0,QObject *parent)@

                            1 Reply Last reply
                            0
                            • I Offline
                              I Offline
                              Ildar
                              wrote on last edited by
                              #21

                              Please, read books about C++ and Qt.

                              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