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.
  • jronaldJ Offline
    jronaldJ Offline
    jronald
    wrote on last edited by jronald
    #1
    int main(int argc, char *argv[])
    {
        MyApp a(argc, argv);
        
        QtTreePropertyBrowser * p = new QtTreePropertyBrowser;
        
        return 0;
    }
    

    built successfully, run time error: QWidget: Must construct a QApplication before a QWidget
    tried both debug & release versions of QtPropertyBrowser

    btw, the QtPropertyBrowser examples with the lib work

    version info:
    Qt 5.12.0
    QtCreator 4.8.0
    QtPropertyBrowser head at https://github.com/qtproject/qt-solutions.git
    kit MSVC2017 64bit

    1 Reply Last reply
    0
    • 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