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 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