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) ^~~~~~
Qt 6.11 is out! See what's new in the release blog

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 10.0k 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.
  • sankarapandiyanS sankarapandiyan

    @jsulm i have done

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

    @sankarapandiyan Sorry, but I can't see it anywhere...

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

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