gfernandes
30th August 2013, 10:52
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
#ifndef MEASURE_H
#define MEASURE_H
#include <QWidget>
#include <readprocess.h>
namespace Ui {
class measure;
}
class measure : public QWidget
{
Q_OBJECT
public:
explicit measure(QWidget *parent = 0);
~measure();
private:
ReadProcess *myProcess;
private slots:
void showTime();
void on_pushButton_clicked();
void openReadProcess();
private:
Ui::measure *ui;
};
#endif // MEASURE_H
measure.cpp
#include "measure.h"
#include "ui_measure.h"
#include <QTimer>
#include <QTime>
#include <QDate>
measure::measure(QWidget *parent) :
QWidget(parent),
ui(new Ui::measure)
{
ui->setupUi(this);
}
measure::~measure()
{
delete ui;
}
void measure::showTime()
{
// some code here
}
void measure::openReadProcess()
{
myProcess = new ReadProcess();
this->close();
myProcess->show();
}
void measure::on_pushButton_clicked()
{
openReadProcess();
}
This is the second form called ReadProcess
#ifndef READPROCESS_H
#define READPROCESS_H
#include <QWidget>
#include <measure.h>
namespace Ui {
class ReadProcess;
}
class ReadProcess : public QWidget
{
Q_OBJECT
public:
explicit ReadProcess(QWidget *parent = 0);
~ReadProcess();
public slots:
void openMeasure();
private:
measure *myMeasureNew;
private slots:
void TimingEvent();
void on_abort_clicked();
void updateValue();
private:
Ui::ReadProcess *ui;
};
#endif // READPROCESS_H
readprocess.cpp
#include "readprocess.h"
#include "ui_readprocess.h"
ReadProcess::ReadProcess(QWidget *parent) :
QWidget(parent),
ui(new Ui::ReadProcess)
{
ui->setupUi(this);
}
ReadProcess::~ReadProcess()
{
delete ui;
}
void ReadProcess::updateValue()
{
//some code here
}
void ReadProcess::TimingEvent()
{
//some code here
}
void ReadProcess::openMeasure()
{
myMeasureNew =new measure();
this->close();
myMeasureNew->show();
}
void ReadProcess::on_abort_clicked()
{
openMeasure();
}
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
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
#ifndef MEASURE_H
#define MEASURE_H
#include <QWidget>
#include <readprocess.h>
namespace Ui {
class measure;
}
class measure : public QWidget
{
Q_OBJECT
public:
explicit measure(QWidget *parent = 0);
~measure();
private:
ReadProcess *myProcess;
private slots:
void showTime();
void on_pushButton_clicked();
void openReadProcess();
private:
Ui::measure *ui;
};
#endif // MEASURE_H
measure.cpp
#include "measure.h"
#include "ui_measure.h"
#include <QTimer>
#include <QTime>
#include <QDate>
measure::measure(QWidget *parent) :
QWidget(parent),
ui(new Ui::measure)
{
ui->setupUi(this);
}
measure::~measure()
{
delete ui;
}
void measure::showTime()
{
// some code here
}
void measure::openReadProcess()
{
myProcess = new ReadProcess();
this->close();
myProcess->show();
}
void measure::on_pushButton_clicked()
{
openReadProcess();
}
This is the second form called ReadProcess
#ifndef READPROCESS_H
#define READPROCESS_H
#include <QWidget>
#include <measure.h>
namespace Ui {
class ReadProcess;
}
class ReadProcess : public QWidget
{
Q_OBJECT
public:
explicit ReadProcess(QWidget *parent = 0);
~ReadProcess();
public slots:
void openMeasure();
private:
measure *myMeasureNew;
private slots:
void TimingEvent();
void on_abort_clicked();
void updateValue();
private:
Ui::ReadProcess *ui;
};
#endif // READPROCESS_H
readprocess.cpp
#include "readprocess.h"
#include "ui_readprocess.h"
ReadProcess::ReadProcess(QWidget *parent) :
QWidget(parent),
ui(new Ui::ReadProcess)
{
ui->setupUi(this);
}
ReadProcess::~ReadProcess()
{
delete ui;
}
void ReadProcess::updateValue()
{
//some code here
}
void ReadProcess::TimingEvent()
{
//some code here
}
void ReadProcess::openMeasure()
{
myMeasureNew =new measure();
this->close();
myMeasureNew->show();
}
void ReadProcess::on_abort_clicked()
{
openMeasure();
}
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