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. QtTreePropertyBrowser runtime error: "QWidget: Must construct a QApplication before a QWidget"
Forum Updated to NodeBB v4.3 + New Features

QtTreePropertyBrowser runtime error: "QWidget: Must construct a QApplication before a QWidget"

Scheduled Pinned Locked Moved Solved General and Desktop
20 Posts 4 Posters 2.9k 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.
  • dheerendraD Offline
    dheerendraD Offline
    dheerendra
    Qt Champions 2022
    wrote on last edited by
    #2

    What is MyApp object ? Looks like it is not inherited from QApplication ? Before constructing any QWidget based object, you must have QApplication created. In your case it not. Hence you have this run time error & application peacefully crashes.

    Dheerendra
    @Community Service
    Certified Qt Specialist
    http://www.pthinks.com

    jronaldJ 1 Reply Last reply
    0
    • dheerendraD dheerendra

      What is MyApp object ? Looks like it is not inherited from QApplication ? Before constructing any QWidget based object, you must have QApplication created. In your case it not. Hence you have this run time error & application peacefully crashes.

      jronaldJ Offline
      jronaldJ Offline
      jronald
      wrote on last edited by
      #3

      @dheerendra said in QtTreePropertyBrowser runtime error: "QWidget: Must construct a QApplication before a QWidget":

      What is MyApp object ?

      class MyApp : public QApplication
      {
          Q_OBJECT
      public:
          explicit MyApp (int &argc, char **argv);
          
      signals:
          
      public slots:
      };
      
      1 Reply Last reply
      0
      • dheerendraD Offline
        dheerendraD Offline
        dheerendra
        Qt Champions 2022
        wrote on last edited by
        #4

        This seems to be ok. Event loop is not started. Can you add it ? a.exec() instead of return 0.

        Dheerendra
        @Community Service
        Certified Qt Specialist
        http://www.pthinks.com

        jronaldJ 1 Reply Last reply
        0
        • dheerendraD dheerendra

          This seems to be ok. Event loop is not started. Can you add it ? a.exec() instead of return 0.

          jronaldJ Offline
          jronaldJ Offline
          jronald
          wrote on last edited by
          #5

          @dheerendra said in QtTreePropertyBrowser runtime error: "QWidget: Must construct a QApplication before a QWidget":

          This seems to be ok. Event loop is not started. Can you add it ? a.exec() instead of return 0.

          added return a.exe();, crashed before reaching here

          1 Reply Last reply
          0
          • dheerendraD Offline
            dheerendraD Offline
            dheerendra
            Qt Champions 2022
            wrote on last edited by
            #6

            Instead of MyApp can you try creating the QApplication object ? Do you have any global object of QtTreePropertyBrowser somewhere else ?

            Dheerendra
            @Community Service
            Certified Qt Specialist
            http://www.pthinks.com

            jronaldJ 1 Reply Last reply
            0
            • dheerendraD dheerendra

              Instead of MyApp can you try creating the QApplication object ? Do you have any global object of QtTreePropertyBrowser somewhere else ?

              jronaldJ Offline
              jronaldJ Offline
              jronald
              wrote on last edited by
              #7

              @dheerendra said in QtTreePropertyBrowser runtime error: "QWidget: Must construct a QApplication before a QWidget":

              Instead of MyApp can you try creating the QApplication object ? Do you have any global object of QtTreePropertyBrowser somewhere else ?

              tried, can't solve
              when debugging, it can execute until the line of code to create QtTreePropertyBrowser

              1 Reply Last reply
              0
              • dheerendraD Offline
                dheerendraD Offline
                dheerendra
                Qt Champions 2022
                wrote on last edited by dheerendra
                #8

                Strange. Can u just create qpushbutton object & see it works ? Comment ur treebrowser code.

                Dheerendra
                @Community Service
                Certified Qt Specialist
                http://www.pthinks.com

                jronaldJ 1 Reply Last reply
                0
                • dheerendraD dheerendra

                  Strange. Can u just create qpushbutton object & see it works ? Comment ur treebrowser code.

                  jronaldJ Offline
                  jronaldJ Offline
                  jronald
                  wrote on last edited by
                  #9

                  @dheerendra said in QtTreePropertyBrowser runtime error: "QWidget: Must construct a QApplication before a QWidget":

                  Strange. Can u just create qpushbutton object & see it works ? Comment ur treebrowser code.

                  everything else works

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

                    Hi,

                    Do you have any static QWiget object ?

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

                    jronaldJ 1 Reply Last reply
                    1
                    • SGaistS SGaist

                      Hi,

                      Do you have any static QWiget object ?

                      jronaldJ Offline
                      jronaldJ Offline
                      jronald
                      wrote on last edited by
                      #11

                      @SGaist said in QtTreePropertyBrowser runtime error: "QWidget: Must construct a QApplication before a QWidget":

                      Do you have any static QWiget object ?

                      no

                      1 Reply Last reply
                      0
                      • dheerendraD Offline
                        dheerendraD Offline
                        dheerendra
                        Qt Champions 2022
                        wrote on last edited by
                        #12

                        If possible can you share your project bat pastebin or somewhere else ?

                        Dheerendra
                        @Community Service
                        Certified Qt Specialist
                        http://www.pthinks.com

                        jronaldJ 1 Reply Last reply
                        0
                        • Maaz MominM Offline
                          Maaz MominM Offline
                          Maaz Momin
                          wrote on last edited by
                          #13

                          @jronald I hope in the constructor definition you are passing the parameter to QApplication.

                          MyApp (int &argc, char **argv) : QApplication(argc, argv)
                          {
                          ...
                          }

                          jronaldJ 1 Reply Last reply
                          0
                          • dheerendraD dheerendra

                            If possible can you share your project bat pastebin or somewhere else ?

                            jronaldJ Offline
                            jronaldJ Offline
                            jronald
                            wrote on last edited by
                            #14

                            @dheerendra said in QtTreePropertyBrowser runtime error: "QWidget: Must construct a QApplication before a QWidget":

                            If possible can you share your project bat pastebin or somewhere else ?

                            1. create a new Qt Widget Application
                            2. modify .pro to add INCLUDEPATH and LIBS for QtPropertyBrowser
                            3. edit MainWindow.cpp
                            #include "MainWindow.h"
                            #include "ui_MainWindow.h"
                            #include <QtTreePropertyBrowser>
                            
                            MainWindow::MainWindow(QWidget *parent) :
                                QMainWindow(parent),
                                ui(new Ui::MainWindow)
                            {
                                QtTreePropertyBrowser * p = new QtTreePropertyBrowser(this);
                                ui->setupUi(this);
                            }
                            
                            MainWindow::~MainWindow()
                            {
                                delete ui;
                            }
                            

                            Application Output Window shows: QWidget: Must construct a QApplication before a QWidget

                            1 Reply Last reply
                            0
                            • Maaz MominM Maaz Momin

                              @jronald I hope in the constructor definition you are passing the parameter to QApplication.

                              MyApp (int &argc, char **argv) : QApplication(argc, argv)
                              {
                              ...
                              }

                              jronaldJ Offline
                              jronaldJ Offline
                              jronald
                              wrote on last edited by
                              #15

                              @Maaz-Momin said in QtTreePropertyBrowser runtime error: "QWidget: Must construct a QApplication before a QWidget":

                              @jronald I hope in the constructor definition you are passing the parameter to QApplication.

                              MyApp (int &argc, char **argv) : QApplication(argc, argv)
                              {
                              ...
                              }

                              sure, it's by default

                              1 Reply Last reply
                              0
                              • Maaz MominM Offline
                                Maaz MominM Offline
                                Maaz Momin
                                wrote on last edited by
                                #16

                                @jronald Can you paste your MyApp.h and MyApp.cpp here. Also If possible your .pro file.

                                jronaldJ 1 Reply Last reply
                                0
                                • Maaz MominM Maaz Momin

                                  @jronald Can you paste your MyApp.h and MyApp.cpp here. Also If possible your .pro file.

                                  jronaldJ Offline
                                  jronaldJ Offline
                                  jronald
                                  wrote on last edited by
                                  #17

                                  @Maaz-Momin said in QtTreePropertyBrowser runtime error: "QWidget: Must construct a QApplication before a QWidget":

                                  @jronald Can you paste your MyApp.h and MyApp.cpp here. Also If possible your .pro file.

                                  I've created a new Qt Widget Application for testing.

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

                                    @jronald said in QtTreePropertyBrowser runtime error: "QWidget: Must construct a QApplication before a QWidget":

                                    QtTreePropertyBrowser

                                    Where did you get that class from ?

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

                                    jronaldJ 2 Replies Last reply
                                    1
                                    • SGaistS SGaist

                                      @jronald said in QtTreePropertyBrowser runtime error: "QWidget: Must construct a QApplication before a QWidget":

                                      QtTreePropertyBrowser

                                      Where did you get that class from ?

                                      jronaldJ Offline
                                      jronaldJ Offline
                                      jronald
                                      wrote on last edited by
                                      #19

                                      @SGaist said in QtTreePropertyBrowser runtime error: "QWidget: Must construct a QApplication before a QWidget":

                                      Where did you get that class from ?

                                      QtPropertyBrowser head at https://github.com/qtproject/qt-solutions.git

                                      1 Reply Last reply
                                      0
                                      • SGaistS SGaist

                                        @jronald said in QtTreePropertyBrowser runtime error: "QWidget: Must construct a QApplication before a QWidget":

                                        QtTreePropertyBrowser

                                        Where did you get that class from ?

                                        jronaldJ Offline
                                        jronaldJ Offline
                                        jronald
                                        wrote on last edited by jronald
                                        #20

                                        @SGaist said in QtTreePropertyBrowser runtime error: "QWidget: Must construct a QApplication before a QWidget":

                                        @jronald said in QtTreePropertyBrowser runtime error: "QWidget: Must construct a QApplication before a QWidget":

                                        QtTreePropertyBrowser

                                        Where did you get that class from ?

                                        Tried https://code.qt.io/qt-solutions/qt-solutions.git, to my surprise it works.
                                        Thank you very much

                                        2 points to mention:

                                        • debug/release must be matched for app and the lib
                                        • clean before build (rebuild may be ok, not tried), or delete the build dir manully
                                        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