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. Cann't write connect in main.cpp
Forum Updated to NodeBB v4.3 + New Features

Cann't write connect in main.cpp

Scheduled Pinned Locked Moved Unsolved General and Desktop
14 Posts 4 Posters 3.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.
  • L.GogsL L.Gogs

    This post is deleted!

    m.sueM Offline
    m.sueM Offline
    m.sue
    wrote on last edited by
    #3

    Hi @L.Gogs

    Your class does not have a Q_OBJECT macro.

    -Michael.

    L.GogsL 1 Reply Last reply
    2
    • m.sueM m.sue

      Hi @L.Gogs

      Your class does not have a Q_OBJECT macro.

      -Michael.

      L.GogsL Offline
      L.GogsL Offline
      L.Gogs
      wrote on last edited by
      #4

      @m.sue
      yes I know but when I wrote it, I had errors

      Pradeep KumarP 1 Reply Last reply
      0
      • Pradeep KumarP Offline
        Pradeep KumarP Offline
        Pradeep Kumar
        wrote on last edited by
        #5
        class Taz742 : public QObject
        {
        Q_OBJECT 
        public:
            Taz742()
            {
                tm = new QTimer();
            }
        
            QTimer *tm;
            ~Taz742()
            {
                delete tm;
            }
        
        public slots:
            void Print()
            {
                qDebug() << "Taz742";
            }
        };
        

        Thanks,

        Pradeep Kumar
        Qt,QML Developer

        L.GogsL 1 Reply Last reply
        0
        • L.GogsL L.Gogs

          @m.sue
          yes I know but when I wrote it, I had errors

          Pradeep KumarP Offline
          Pradeep KumarP Offline
          Pradeep Kumar
          wrote on last edited by
          #6

          @L.Gogs

          can u post what errors occurred.

          Thanks,

          Pradeep Kumar
          Qt,QML Developer

          L.GogsL 1 Reply Last reply
          1
          • Pradeep KumarP Pradeep Kumar

            @L.Gogs

            can u post what errors occurred.

            Thanks,

            L.GogsL Offline
            L.GogsL Offline
            L.Gogs
            wrote on last edited by
            #7

            @Pradeep-Kumar
            of course :))

            undefined reference to 'vtable for Taz742'

            m.sueM 1 Reply Last reply
            0
            • Pradeep KumarP Pradeep Kumar
              class Taz742 : public QObject
              {
              Q_OBJECT 
              public:
                  Taz742()
                  {
                      tm = new QTimer();
                  }
              
                  QTimer *tm;
                  ~Taz742()
                  {
                      delete tm;
                  }
              
              public slots:
                  void Print()
                  {
                      qDebug() << "Taz742";
                  }
              };
              

              Thanks,

              L.GogsL Offline
              L.GogsL Offline
              L.Gogs
              wrote on last edited by
              #8
              This post is deleted!
              1 Reply Last reply
              0
              • L.GogsL L.Gogs

                @Pradeep-Kumar
                of course :))

                undefined reference to 'vtable for Taz742'

                m.sueM Offline
                m.sueM Offline
                m.sue
                wrote on last edited by
                #9

                Hi @L.Gogs

                Your Taz742 destructor is virtual, by inheritance from QObject. A class with virtual functions should be defined in its own file: Taz742.cpp and Taz742.h

                -Michael.

                L.GogsL 1 Reply Last reply
                1
                • m.sueM m.sue

                  Hi @L.Gogs

                  Your Taz742 destructor is virtual, by inheritance from QObject. A class with virtual functions should be defined in its own file: Taz742.cpp and Taz742.h

                  -Michael.

                  L.GogsL Offline
                  L.GogsL Offline
                  L.Gogs
                  wrote on last edited by
                  #10

                  @m.sue
                  Thanks...
                  but how can I write connect in main.cpp

                  m.sueM 1 Reply Last reply
                  1
                  • L.GogsL L.Gogs

                    @m.sue
                    Thanks...
                    but how can I write connect in main.cpp

                    m.sueM Offline
                    m.sueM Offline
                    m.sue
                    wrote on last edited by
                    #11

                    Hi @L.Gogs

                    Just #include the header file. Then you can use your class there

                    -Michael.

                    L.GogsL 1 Reply Last reply
                    1
                    • m.sueM m.sue

                      Hi @L.Gogs

                      Just #include the header file. Then you can use your class there

                      -Michael.

                      L.GogsL Offline
                      L.GogsL Offline
                      L.Gogs
                      wrote on last edited by
                      #12

                      @m.sue
                      no no, I want to write connect into main.cpp without any other header or cpp file.

                      m.sueM mrjjM 2 Replies Last reply
                      0
                      • L.GogsL L.Gogs

                        @m.sue
                        no no, I want to write connect into main.cpp without any other header or cpp file.

                        m.sueM Offline
                        m.sueM Offline
                        m.sue
                        wrote on last edited by m.sue
                        #13

                        Hi @L.Gogs

                        To be blunt: You have to comply with the rules of the computer language (C++ in this case) or not use it. You cannot discuss such issues with the compiler/linker.

                        -Michael.

                        1 Reply Last reply
                        1
                        • L.GogsL L.Gogs

                          @m.sue
                          no no, I want to write connect into main.cpp without any other header or cpp file.

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

                          @L.Gogs said in Cann't write connect in main.cpp:

                          no no, I want to write connect into main.cpp without any other header or cpp file.

                          https://stackoverflow.com/questions/34928933/why-is-important-to-include-moc-file-at-end-of-a-qt-source-code-file

                          You can hack it but using a .h file is the right way and besides this approach might have issues.
                          I never used it as its non common to only have .cpp file outside school projects.

                          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