Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt
  • Unsolved
Collapse
qtws26_logo

The Qt Event of the Year: Qt World Summit 2026

Save Your Spot >
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. how to test a function calculator( QWidget *parent)
Qt 6.12 LTS is out! See what's new in the release blog

how to test a function calculator( QWidget *parent)

Scheduled Pinned Locked Moved Solved General and Desktop
30 Posts 8 Posters 8.5k Views 2 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.
  • S shravan_121

    Test.pro:
    QT += testlib
    QT += gui
    QT +=widgets

    CONFIG += qt console warn_on depend_includepath testcase
    CONFIG -= app_bundle

    TEMPLATE = app

    INCLUDEPATH = C:/Qt/Qt5.12.6/Examples/Qt-5.12.6/widgets/widgets/calculator
    DEPENDPATH = C:/Qt/Qt5.12.6/Examples/Qt-5.12.6/widgets/widgets/calculator

    SOURCES += tst_test1.cpp \

    calculator.pro:
    QT += widgets

    HEADERS = button.h
    calculator.h
    SOURCES = button.cpp
    calculator.cpp
    main.cpp

    install

    target.path = $$[QT_INSTALL_EXAMPLES]/widgets/widgets/calculator
    INSTALLS += target

    J.HilkJ Offline
    J.HilkJ Offline
    J.Hilk
    Moderators
    wrote on last edited by
    #8

    @shravan_121 What are your includes for those classes ?


    Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


    Q: What's that?
    A: It's blue light.
    Q: What does it do?
    A: It turns blue.

    1 Reply Last reply
    1
    • S Offline
      S Offline
      shravan_121
      wrote on last edited by
      #9

      button.cpp:

      #include <QtWidgets>
      #include "button.h"

      calculator.cpp:

      #include <QtWidgets>
      #include <cmath>
      #include "button.h"
      #include "calculator.h"

      main.cpp:

      #include <QApplication>
      #include "calculator.h"

      1 Reply Last reply
      0
      • S Offline
        S Offline
        shravan_121
        wrote on last edited by
        #10

        Test.cpp:
        #include<QTest>
        #include<calculator.h>
        #include<button.h>
        #include<QtWidgets>
        #include<QDebug>

        class test1 : public QObject
        {
        Q_OBJECT

        public:
        test1();
        ~test1();
        private slots:
        void test_case1();
        void test_case2();
        private:
        Calculator *mcalculator;

        };

        aha_1980A 1 Reply Last reply
        0
        • S shravan_121

          Test.cpp:
          #include<QTest>
          #include<calculator.h>
          #include<button.h>
          #include<QtWidgets>
          #include<QDebug>

          class test1 : public QObject
          {
          Q_OBJECT

          public:
          test1();
          ~test1();
          private slots:
          void test_case1();
          void test_case2();
          private:
          Calculator *mcalculator;

          };

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

          @shravan_121

          as @jsulm already said, you must add calculator.cpp to your Test.pro file.

          Regards

          Qt has to stay free or it will die.

          1 Reply Last reply
          1
          • S Offline
            S Offline
            shravan_121
            wrote on last edited by
            #12

            After including calculator.cpp i am getting error:QWidget: Must construct a Qapplication before a QWidget. And Thank You all of you for helping me.

            JonBJ 1 Reply Last reply
            0
            • S shravan_121

              After including calculator.cpp i am getting error:QWidget: Must construct a Qapplication before a QWidget. And Thank You all of you for helping me.

              JonBJ Offline
              JonBJ Offline
              JonB
              wrote on last edited by JonB
              #13

              @shravan_121
              So you need to obey the message, exactly as it says. You need to construct your QApplication before you can access QWidgets. What else to say?

              S 1 Reply Last reply
              1
              • JonBJ JonB

                @shravan_121
                So you need to obey the message, exactly as it says. You need to construct your QApplication before you can access QWidgets. What else to say?

                S Offline
                S Offline
                shravan_121
                wrote on last edited by
                #14

                @JonB Actually I don't know how this works and as i am new to qt I don't know how to construct QApplication

                JonBJ 1 Reply Last reply
                0
                • S shravan_121

                  @JonB Actually I don't know how this works and as i am new to qt I don't know how to construct QApplication

                  JonBJ Offline
                  JonBJ Offline
                  JonB
                  wrote on last edited by JonB
                  #15

                  @shravan_121
                  Follow any example anywhere of how to create a basic Qt (widgets) application. Reading the docs/examples is a good place to start. Without knowing that you won't get anywhere.

                  1 Reply Last reply
                  1
                  • S Offline
                    S Offline
                    shravan_121
                    wrote on last edited by
                    #16

                    I have the application created but for testing that application I am facing this error.In that actual application Application is constructed in the main function.

                    1 Reply Last reply
                    0
                    • SGaistS Offline
                      SGaistS Offline
                      SGaist
                      Lifetime Qt Champion
                      wrote on last edited by
                      #17

                      Please read the QtTest module tutorials they show how to write unit tests.

                      Interested in AI ? www.idiap.ch
                      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                      1 Reply Last reply
                      3
                      • S Offline
                        S Offline
                        shravan_121
                        wrote on last edited by
                        #18

                        I have gone through the document about unit testing.Now I have some idea on inbuilt qttest functions.But I need to clear the error of QApplication construction in QtTest application.Can Any one help me solving this.

                        1 Reply Last reply
                        0
                        • SGaistS Offline
                          SGaistS Offline
                          SGaist
                          Lifetime Qt Champion
                          wrote on last edited by
                          #19

                          Did you add the QTEST_MAIN related lines as described at the bottom of the GUI related tutorials ?

                          Interested in AI ? www.idiap.ch
                          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                          S 1 Reply Last reply
                          2
                          • SGaistS SGaist

                            Did you add the QTEST_MAIN related lines as described at the bottom of the GUI related tutorials ?

                            S Offline
                            S Offline
                            shravan_121
                            wrote on last edited by
                            #20

                            @SGaist I tried It but it shows some error I don't know how can you give me a sample of it
                            how to add QApplication related lines because i am unclear about the concept.

                            jsulmJ 1 Reply Last reply
                            0
                            • S shravan_121

                              @SGaist I tried It but it shows some error I don't know how can you give me a sample of it
                              how to add QApplication related lines because i am unclear about the concept.

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

                              @shravan_121 said in how to test a function calculator( QWidget *parent):

                              but it shows some error

                              Please post the error

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

                              S 1 Reply Last reply
                              1
                              • jsulmJ jsulm

                                @shravan_121 said in how to test a function calculator( QWidget *parent):

                                but it shows some error

                                Please post the error

                                S Offline
                                S Offline
                                shravan_121
                                wrote on last edited by
                                #22

                                @jsulm
                                Test.Cpp:
                                #include <QtTest/QtTest>
                                #include<QTest>
                                #include<calculator.h>
                                #include<button.h>
                                #include<QtWidgets>
                                #include<QDebug>
                                #include<QApplication>
                                class test1 : public QObject
                                {
                                Q_OBJECT

                                public:
                                test1();
                                ~test1();

                                private slots:
                                void test_case1();
                                void test_case2();

                                private:

                                Calculator *mcalculator;
                                

                                };

                                test1::test1()

                                {

                                mcalculator = new Calculator(); //ERROR

                                }

                                1 Reply Last reply
                                0
                                • S Offline
                                  S Offline
                                  shravan_121
                                  wrote on last edited by shravan_121
                                  #23

                                  #include <QtTest/QtTest>
                                  #include<QTest>
                                  #include<calculator.h>
                                  #include<button.h>
                                  #include<QtWidgets>
                                  #include<QDebug>
                                  #include<QApplication>
                                  class test1 : public QObject
                                  {
                                  Q_OBJECT

                                  public:
                                  test1();
                                  ~test1();

                                  private slots:
                                  void test_case1();
                                  void test_case2();

                                  private:

                                  Calculator *mcalculator;
                                  

                                  };

                                  test1::test1()

                                  {

                                  mcalculator = new Calculator();//error

                                  }

                                  1 Reply Last reply
                                  0
                                  • S Offline
                                    S Offline
                                    shravan_121
                                    wrote on last edited by
                                    #24

                                    QTEST_APPLESS_MAIN(test1)

                                    #include "tst_test1.moc"

                                    JonBJ jsulmJ 2 Replies Last reply
                                    0
                                    • S shravan_121

                                      QTEST_APPLESS_MAIN(test1)

                                      #include "tst_test1.moc"

                                      JonBJ Offline
                                      JonBJ Offline
                                      JonB
                                      wrote on last edited by
                                      #25

                                      @shravan_121
                                      So the compiler just reports "Error" on some line? It does not have anything further than that, it just goes "Error" with no explanation? Because obviously if it did output a whole line of explanation with the error message you would paste that here when asking for help, and you have been asked for the error, wouldn't you?

                                      S 1 Reply Last reply
                                      1
                                      • JonBJ JonB

                                        @shravan_121
                                        So the compiler just reports "Error" on some line? It does not have anything further than that, it just goes "Error" with no explanation? Because obviously if it did output a whole line of explanation with the error message you would paste that here when asking for help, and you have been asked for the error, wouldn't you?

                                        S Offline
                                        S Offline
                                        shravan_121
                                        wrote on last edited by
                                        #26

                                        @JonB Qwidget:Must Create a Qapplication before Qwidget

                                        JonBJ 1 Reply Last reply
                                        0
                                        • S shravan_121

                                          QTEST_APPLESS_MAIN(test1)

                                          #include "tst_test1.moc"

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

                                          @shravan_121 said in how to test a function calculator( QWidget *parent):

                                          QTEST_APPLESS_MAIN

                                          Why?!
                                          As @SGaist suggested use QTEST_MAIN

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

                                          1 Reply Last reply
                                          4

                                          • Login

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