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.
  • 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