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) ^~~~~~
QtWS25 Last Chance

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

    @jsulm i have done

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

    @sankarapandiyan neither can I


    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
    • mrjjM Offline
      mrjjM Offline
      mrjj
      Lifetime Qt Champion
      wrote on last edited by
      #14

      Hi
      Please also show

      dialog.h

      and most important

      ui_dialog.h

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