Stuck in this Error :::invalid use of incomplete type ‘class Ui::Dialog’ ui(new Ui::Dialog) ^~~~~~
-
@jsulm i have done
@sankarapandiyan neither can I
-
Hi
Please also showdialog.h
and most important
ui_dialog.h
-
``
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
-
``
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
@sankarapandiyan Can you please simply provide the content of ui_dialog.h? This is what we are asking all the time.
-
@sankarapandiyan Can you please simply provide the content of ui_dialog.h? This is what we are asking all the time.
@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]
-
@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]
@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... -
@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...@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
-
@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
@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...
-
@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...
@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
-
@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
@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
-
@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
This post is deleted! -
This post is deleted!
@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. -
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
-
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
@sankarapandiyan OK, the file looks good.
Try to do a complete rebuild:- Delete the content of the build directory
- Run qmake
- And build
-
Yes it Run Thanks a Lot ..