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.
  • mrjjM mrjj

    Hi
    Please also show

    dialog.h

    and most important

    ui_dialog.h

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

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