Hi

I have successfully created multiple forms. I know how to switch from form 1 to form 2 on button click using SIGNALS and SLOTS. The problem is when I try switching from form 2 to form 1 it throws an error.

I have posted a part of the source code.
This is the first form called measure

measure.h

Qt Code:
  1. #ifndef MEASURE_H
  2. #define MEASURE_H
  3.  
  4. #include <QWidget>
  5. #include <readprocess.h>
  6.  
  7.  
  8. namespace Ui {
  9. class measure;
  10. }
  11.  
  12. class measure : public QWidget
  13. {
  14. Q_OBJECT
  15.  
  16. public:
  17. explicit measure(QWidget *parent = 0);
  18. ~measure();
  19.  
  20. private:
  21. ReadProcess *myProcess;
  22.  
  23. private slots:
  24. void showTime();
  25. void on_pushButton_clicked();
  26. void openReadProcess();
  27.  
  28. private:
  29. Ui::measure *ui;
  30.  
  31. };
  32.  
  33. #endif // MEASURE_H
To copy to clipboard, switch view to plain text mode 

measure.cpp

Qt Code:
  1. #include "measure.h"
  2. #include "ui_measure.h"
  3. #include <QTimer>
  4. #include <QTime>
  5. #include <QDate>
  6.  
  7.  
  8. measure::measure(QWidget *parent) :
  9. QWidget(parent),
  10. ui(new Ui::measure)
  11. {
  12. ui->setupUi(this);
  13.  
  14. }
  15.  
  16. measure::~measure()
  17. {
  18. delete ui;
  19. }
  20.  
  21. void measure::showTime()
  22. {
  23. // some code here
  24. }
  25.  
  26. void measure::openReadProcess()
  27. {
  28. myProcess = new ReadProcess();
  29. this->close();
  30. myProcess->show();
  31. }
  32.  
  33. void measure::on_pushButton_clicked()
  34. {
  35. openReadProcess();
  36. }
To copy to clipboard, switch view to plain text mode 

This is the second form called ReadProcess
Qt Code:
  1. #ifndef READPROCESS_H
  2. #define READPROCESS_H
  3.  
  4. #include <QWidget>
  5. #include <measure.h>
  6.  
  7. namespace Ui {
  8. class ReadProcess;
  9. }
  10.  
  11. class ReadProcess : public QWidget
  12. {
  13. Q_OBJECT
  14.  
  15. public:
  16. explicit ReadProcess(QWidget *parent = 0);
  17. ~ReadProcess();
  18.  
  19. public slots:
  20. void openMeasure();
  21.  
  22. private:
  23. measure *myMeasureNew;
  24.  
  25. private slots:
  26. void TimingEvent();
  27. void on_abort_clicked();
  28. void updateValue();
  29.  
  30. private:
  31. Ui::ReadProcess *ui;
  32. };
  33.  
  34. #endif // READPROCESS_H
To copy to clipboard, switch view to plain text mode 

readprocess.cpp
Qt Code:
  1. #include "readprocess.h"
  2. #include "ui_readprocess.h"
  3.  
  4.  
  5. ReadProcess::ReadProcess(QWidget *parent) :
  6. QWidget(parent),
  7. ui(new Ui::ReadProcess)
  8. {
  9. ui->setupUi(this);
  10.  
  11. }
  12.  
  13. ReadProcess::~ReadProcess()
  14. {
  15. delete ui;
  16. }
  17.  
  18. void ReadProcess::updateValue()
  19. {
  20. //some code here
  21. }
  22.  
  23. void ReadProcess::TimingEvent()
  24. {
  25. //some code here
  26. }
  27.  
  28. void ReadProcess::openMeasure()
  29. {
  30. myMeasureNew =new measure();
  31. this->close();
  32. myMeasureNew->show();
  33.  
  34. }
  35.  
  36. void ReadProcess::on_abort_clicked()
  37. {
  38. openMeasure();
  39. }
To copy to clipboard, switch view to plain text mode 

When I run my application the error thrown is
'measure' does not name a type
this error is of readprocess.h following line
private:
measure *myMeasureNew;

Cannot figure out where I am going wrong. Kindly help