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. Stuck in this Error :::invalid use of incomplete type ‘class Ui::Dialog’ ui(new Ui::Dialog) ^~~~~~

Stuck in this Error :::invalid use of incomplete type ‘class Ui::Dialog’ ui(new Ui::Dialog) ^~~~~~

Scheduled Pinned Locked Moved Solved General and Desktop
27 Posts 5 Posters 3.5k Views
  • 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.
  • sankarapandiyanS sankarapandiyan

    @mrjj

    ``

    i have included #include <ui_dialog.h> in dialog.h 
    
    
    
    #ifndef DIALOG_H
    #define DIALOG_H
    
    
    #include <QDialog>
    #include "mytask.h"
    #include <ui_dialog.h>
    namespace Ui {
    class Dialog;
    }
     but the error remains the same   /home/adx-soft1/Desktop/Sankarapandiyan/ProgDial/dialog.cpp:10: error: invalid use of incomplete type ‘class Ui::Dialog’
         ui(new Ui::Dialog)
                    ^~~~~~
    
    
    
    this is my dialog.h 
    
    
    #ifndef DIALOG_H
    #define DIALOG_H
    
    
    #include <QDialog>
    #include "mytask.h"
    #include <ui_dialog.h>
    
    
    
    namespace Ui {
    class Dialog;
    }
    
    class Dialog : public QDialog
    {
        Q_OBJECT
    
    public:
        explicit Dialog(QWidget *parent = 0);
        ~Dialog();
    
    private slots:
        void on_modalButton_clicked();
    
        void on_modelessButton_clicked();
    
    private:
        Ui::Dialog *ui;
        MyTask *myTask;
    };
    
    #endif // DIALOG_H
    
    
    jsulmJ Offline
    jsulmJ Offline
    jsulm
    Lifetime Qt Champion
    wrote on last edited by
    #16

    @sankarapandiyan Can you please simply provide the content of ui_dialog.h? This is what we are asking all the time.

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

    sankarapandiyanS 1 Reply Last reply
    1
    • jsulmJ jsulm

      @sankarapandiyan Can you please simply provide the content of ui_dialog.h? This is what we are asking all the time.

      sankarapandiyanS Offline
      sankarapandiyanS Offline
      sankarapandiyan
      wrote on last edited by
      #17

      @jsulm [url=https://postimg.cc/tZyZdZ4R][img]https://i.postimg.cc/tZyZdZ4R/Screenshot-from-2019-10-31-13-33-16.png[/img][/url]

      [url=https://postimg.cc/rd5RtCcY][img]https://i.postimg.cc/rd5RtCcY/Screenshot-from-2019-10-31-13-33-28.png[/img][/url]

      jsulmJ 1 Reply Last reply
      0
      • sankarapandiyanS sankarapandiyan

        @jsulm [url=https://postimg.cc/tZyZdZ4R][img]https://i.postimg.cc/tZyZdZ4R/Screenshot-from-2019-10-31-13-33-16.png[/img][/url]

        [url=https://postimg.cc/rd5RtCcY][img]https://i.postimg.cc/rd5RtCcY/Screenshot-from-2019-10-31-13-33-28.png[/img][/url]

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

        @sankarapandiyan This is not what we asked you to provide!
        AGAIN: post the content of ui_dialog.h ! It is a normal C++ header file, so symply copy its text and post it here directly...

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

        sankarapandiyanS 1 Reply Last reply
        1
        • jsulmJ jsulm

          @sankarapandiyan This is not what we asked you to provide!
          AGAIN: post the content of ui_dialog.h ! It is a normal C++ header file, so symply copy its text and post it here directly...

          sankarapandiyanS Offline
          sankarapandiyanS Offline
          sankarapandiyan
          wrote on last edited by
          #19

          @jsulm ```
          code_text

          #define DIALOG_H
          
          #include <QDialog>
          #include<QTimer>
          #include<QProgressDialog>
          
          namespace Ui {
          class Dialog;
          }
          
          class Dialog : public QDialog
          {
              Q_OBJECT
          
          public:
              explicit Dialog(QWidget *parent = nullptr);
              ~Dialog();
          public slots:
              void myfunction();
              void perform();
              void cancel();
          
          private:
              Ui::Dialog *ui;
              int steps;
              QProgressDialog*pd;
              QTimer*timer;
          };
          
          #endif // DIALOG_H
          This is the hedder file of dialog.h
          jsulmJ 1 Reply Last reply
          0
          • sankarapandiyanS sankarapandiyan

            @jsulm ```
            code_text

            #define DIALOG_H
            
            #include <QDialog>
            #include<QTimer>
            #include<QProgressDialog>
            
            namespace Ui {
            class Dialog;
            }
            
            class Dialog : public QDialog
            {
                Q_OBJECT
            
            public:
                explicit Dialog(QWidget *parent = nullptr);
                ~Dialog();
            public slots:
                void myfunction();
                void perform();
                void cancel();
            
            private:
                Ui::Dialog *ui;
                int steps;
                QProgressDialog*pd;
                QTimer*timer;
            };
            
            #endif // DIALOG_H
            This is the hedder file of dialog.h
            jsulmJ Offline
            jsulmJ Offline
            jsulm
            Lifetime Qt Champion
            wrote on last edited by
            #20

            @sankarapandiyan Sorry I will stop here as I'm tired to explain that you simply need to copy text from ui_dialog.h and paste it here...

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

            sankarapandiyanS 1 Reply Last reply
            0
            • jsulmJ jsulm

              @sankarapandiyan Sorry I will stop here as I'm tired to explain that you simply need to copy text from ui_dialog.h and paste it here...

              sankarapandiyanS Offline
              sankarapandiyanS Offline
              sankarapandiyan
              wrote on last edited by
              #21

              @jsulm i didnt have a content of ui dialog . h , And i am having dialog.h file only is there thats why i have uploaded repeatedly

              J.HilkJ 1 Reply Last reply
              0
              • sankarapandiyanS sankarapandiyan

                @jsulm i didnt have a content of ui dialog . h , And i am having dialog.h file only is there thats why i have uploaded repeatedly

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

                @sankarapandiyan
                it will not be inside QtCreator as it is a automatically created file.

                But you will find in in your build directory, if you use a normal file explorer, the one that comes with your operating system


                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.

                sankarapandiyanS 1 Reply Last reply
                3
                • J.HilkJ J.Hilk

                  @sankarapandiyan
                  it will not be inside QtCreator as it is a automatically created file.

                  But you will find in in your build directory, if you use a normal file explorer, the one that comes with your operating system

                  sankarapandiyanS Offline
                  sankarapandiyanS Offline
                  sankarapandiyan
                  wrote on last edited by
                  #23
                  This post is deleted!
                  mrjjM 1 Reply Last reply
                  0
                  • sankarapandiyanS sankarapandiyan

                    This post is deleted!

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

                    @sankarapandiyan
                    Nope thats the actual UI file
                    its
                    ui_dialog.h
                    we are after to see if its broken somehow.
                    Its auto generated file and lives in the build folder
                    not in project folder.

                    1 Reply Last reply
                    2
                    • sankarapandiyanS Offline
                      sankarapandiyanS Offline
                      sankarapandiyan
                      wrote on last edited by
                      #25

                      Thanks a lot ... @mrjj ... Finally ,Here there is a code of ui.dialog.h file , @J-Hilk @jsulm

                      ** Form generated from reading UI file 'dialog.ui'
                      **
                      ** Created by: Qt User Interface Compiler version 5.10.1
                      **
                      ** WARNING! All changes made in this file will be lost when recompiling UI file!
                      ********************************************************************************/
                      
                      #ifndef UI_DIALOG_H
                      #define UI_DIALOG_H
                      
                      #include <QtCore/QVariant>
                      #include <QtWidgets/QAction>
                      #include <QtWidgets/QApplication>
                      #include <QtWidgets/QButtonGroup>
                      #include <QtWidgets/QDialog>
                      #include <QtWidgets/QGridLayout>
                      #include <QtWidgets/QHeaderView>
                      #include <QtWidgets/QPushButton>
                      #include <QtWidgets/QSpacerItem>
                      
                      QT_BEGIN_NAMESPACE
                      
                      class Ui_Dialog
                      {
                      public:
                          QGridLayout *gridLayout;
                          QPushButton *pushButton;
                          QPushButton *modelessButton;
                          QPushButton *modalButton;
                          QSpacerItem *verticalSpacer;
                      
                          void setupUi(QDialog *Dialog)
                          {
                              if (Dialog->objectName().isEmpty())
                                  Dialog->setObjectName(QStringLiteral("Dialog"));
                              Dialog->resize(304, 95);
                              gridLayout = new QGridLayout(Dialog);
                              gridLayout->setSpacing(6);
                              gridLayout->setContentsMargins(11, 11, 11, 11);
                              gridLayout->setObjectName(QStringLiteral("gridLayout"));
                              pushButton = new QPushButton(Dialog);
                              pushButton->setObjectName(QStringLiteral("pushButton"));
                      
                              gridLayout->addWidget(pushButton, 2, 1, 1, 1);
                      
                              modelessButton = new QPushButton(Dialog);
                              modelessButton->setObjectName(QStringLiteral("modelessButton"));
                      
                              gridLayout->addWidget(modelessButton, 0, 1, 1, 1);
                      
                              modalButton = new QPushButton(Dialog);
                              modalButton->setObjectName(QStringLiteral("modalButton"));
                      
                              gridLayout->addWidget(modalButton, 0, 0, 1, 1);
                      
                              verticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
                      
                              gridLayout->addItem(verticalSpacer, 1, 1, 1, 1);
                      
                      
                              retranslateUi(Dialog);
                              QObject::connect(pushButton, SIGNAL(clicked()), Dialog, SLOT(close()));
                      
                              QMetaObject::connectSlotsByName(Dialog);
                          } // setupUi
                      
                          void retranslateUi(QDialog *Dialog)
                          {
                              Dialog->setWindowTitle(QApplication::translate("Dialog", "QProgressDialog Launcher", nullptr));
                              pushButton->setText(QApplication::translate("Dialog", "Cancel", nullptr));
                              modelessButton->setText(QApplication::translate("Dialog", "Modeless", nullptr));
                              modalButton->setText(QApplication::translate("Dialog", "Modal", nullptr));
                          } // retranslateUi
                      
                      };
                      
                      namespace Ui {
                          class Dialog: public Ui_Dialog {};
                      } // namespace Ui
                      
                      QT_END_NAMESPACE
                      
                      #endif // UI_DIALOG_H
                      code_text
                      
                      jsulmJ 1 Reply Last reply
                      0
                      • sankarapandiyanS sankarapandiyan

                        Thanks a lot ... @mrjj ... Finally ,Here there is a code of ui.dialog.h file , @J-Hilk @jsulm

                        ** Form generated from reading UI file 'dialog.ui'
                        **
                        ** Created by: Qt User Interface Compiler version 5.10.1
                        **
                        ** WARNING! All changes made in this file will be lost when recompiling UI file!
                        ********************************************************************************/
                        
                        #ifndef UI_DIALOG_H
                        #define UI_DIALOG_H
                        
                        #include <QtCore/QVariant>
                        #include <QtWidgets/QAction>
                        #include <QtWidgets/QApplication>
                        #include <QtWidgets/QButtonGroup>
                        #include <QtWidgets/QDialog>
                        #include <QtWidgets/QGridLayout>
                        #include <QtWidgets/QHeaderView>
                        #include <QtWidgets/QPushButton>
                        #include <QtWidgets/QSpacerItem>
                        
                        QT_BEGIN_NAMESPACE
                        
                        class Ui_Dialog
                        {
                        public:
                            QGridLayout *gridLayout;
                            QPushButton *pushButton;
                            QPushButton *modelessButton;
                            QPushButton *modalButton;
                            QSpacerItem *verticalSpacer;
                        
                            void setupUi(QDialog *Dialog)
                            {
                                if (Dialog->objectName().isEmpty())
                                    Dialog->setObjectName(QStringLiteral("Dialog"));
                                Dialog->resize(304, 95);
                                gridLayout = new QGridLayout(Dialog);
                                gridLayout->setSpacing(6);
                                gridLayout->setContentsMargins(11, 11, 11, 11);
                                gridLayout->setObjectName(QStringLiteral("gridLayout"));
                                pushButton = new QPushButton(Dialog);
                                pushButton->setObjectName(QStringLiteral("pushButton"));
                        
                                gridLayout->addWidget(pushButton, 2, 1, 1, 1);
                        
                                modelessButton = new QPushButton(Dialog);
                                modelessButton->setObjectName(QStringLiteral("modelessButton"));
                        
                                gridLayout->addWidget(modelessButton, 0, 1, 1, 1);
                        
                                modalButton = new QPushButton(Dialog);
                                modalButton->setObjectName(QStringLiteral("modalButton"));
                        
                                gridLayout->addWidget(modalButton, 0, 0, 1, 1);
                        
                                verticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
                        
                                gridLayout->addItem(verticalSpacer, 1, 1, 1, 1);
                        
                        
                                retranslateUi(Dialog);
                                QObject::connect(pushButton, SIGNAL(clicked()), Dialog, SLOT(close()));
                        
                                QMetaObject::connectSlotsByName(Dialog);
                            } // setupUi
                        
                            void retranslateUi(QDialog *Dialog)
                            {
                                Dialog->setWindowTitle(QApplication::translate("Dialog", "QProgressDialog Launcher", nullptr));
                                pushButton->setText(QApplication::translate("Dialog", "Cancel", nullptr));
                                modelessButton->setText(QApplication::translate("Dialog", "Modeless", nullptr));
                                modalButton->setText(QApplication::translate("Dialog", "Modal", nullptr));
                            } // retranslateUi
                        
                        };
                        
                        namespace Ui {
                            class Dialog: public Ui_Dialog {};
                        } // namespace Ui
                        
                        QT_END_NAMESPACE
                        
                        #endif // UI_DIALOG_H
                        code_text
                        
                        jsulmJ Offline
                        jsulmJ Offline
                        jsulm
                        Lifetime Qt Champion
                        wrote on last edited by jsulm
                        #26

                        @sankarapandiyan OK, the file looks good.
                        Try to do a complete rebuild:

                        • Delete the content of the build directory
                        • Run qmake
                        • And build

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

                        1 Reply Last reply
                        5
                        • sankarapandiyanS Offline
                          sankarapandiyanS Offline
                          sankarapandiyan
                          wrote on last edited by
                          #27

                          Yes it Run Thanks a Lot ..

                          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