ui was not delared in this scope error need help
-
trying to make an accessor function called motercontrol() and am getting the error ui was not declared in this scope don't know how to fix it please help me.
#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
namespace Ui {
class Widget;
}
class QCamera;
class QCameraViewfinder;
class QCameraImageCapture;
class QVBoxLayout;
class QMenu;
class QAction;class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = nullptr);
~Widget();
void motorcontroll(double x1,double x2, double y1, double y2, double z1, double z2,double l1);private:
Ui::Widget *ui;
QCamera * mCamera;
QCameraViewfinder *mCameraViewfinder;
QCameraImageCapture *mCameraImageCapture;
QVBoxLayout *mLayout;
QMenu *mOptionsMenu;
QAction *mCameraAction;
QAction *mGantryAction;
QAction *mCaptureAction;
QAction *mLazerAction;
};#endif // WIDGET_H
#include "widget.h"
#include "ui_widget.h"
#include <QCamera>
#include <QCameraViewfinder>
#include <QCameraImageCapture>
#include <QVBoxLayout>
#include <QMenu>
#include <QAction>
#include <QFileDialog>Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
mCamera = new QCamera(this);
mCameraViewfinder = new QCameraViewfinder(this);
mCameraImageCapture = new QCameraImageCapture(mCamera,this);
mLayout = new QVBoxLayout;
mOptionsMenu = new QMenu("Options",this);
mCameraAction = new QAction("Camera",this);
mGantryAction = new QAction("Gantry", this);
mCaptureAction = new QAction("Capture",this);
mLazerAction = new QAction("Lazer",this);
mOptionsMenu->addActions({mCameraAction,mGantryAction,
mLazerAction});
ui->optionsPushButton->setMenu(mOptionsMenu);
ui->lazerDistance->setLayout(mLayout);ui->xAxis->setLayout(mLayout); ui->yAxis->setLayout(mLayout); ui->zAxis->setLayout(mLayout); ui->xRotate->setLayout(mLayout); ui->yRotate->setLayout(mLayout); ui->zRotate->setLayout(mLayout); ui->x1Label->setLayout(mLayout); ui->y1Label->setLayout(mLayout); ui->z1Label->setLayout(mLayout); ui->x2Label->setLayout(mLayout); ui->y2Label->setLayout(mLayout); ui->z2Label->setLayout(mLayout); ui->xAxis->hide(); ui->yAxis->hide(); ui->zAxis->hide(); ui->xRotate->hide(); ui->yRotate->hide(); ui->zRotate->hide(); ui->x1Label->hide(); ui->y1Label->hide(); ui->z1Label->hide(); ui->x2Label->hide(); ui->y2Label->hide(); ui->z2Label->hide(); ui->lazerDistance->hide(); ui->scanButton->hide(); ui->moterL->hide(); ui->moterLLable->hide(); connect(mCameraAction, &QAction::triggered, [&](){ ui->moterL->hide(); ui->moterLLable->hide(); ui->xAxis->hide(); ui->yAxis->hide(); ui->zAxis->hide(); ui->xRotate->hide(); ui->yRotate->hide(); ui->zRotate->hide(); ui->x1Label->hide(); ui->y1Label->hide(); ui->z1Label->hide(); ui->x2Label->hide(); ui->y2Label->hide(); ui->z2Label->hide(); ui->lazerDistance->hide(); ui->scanButton->hide(); mCamera->setViewfinder(mCameraViewfinder); mLayout->addWidget(mCameraViewfinder); mLayout->setMargin(0); ui->ScrollArea->setLayout(mLayout); ui->ScrollArea->show(); ui->scrollAreaWidgetContents->show(); mCameraViewfinder->show(); mCamera->start(); }); connect(mGantryAction,&QAction::triggered, [&](){ mCamera->stop(); ui->ScrollArea->hide(); ui->scrollAreaWidgetContents->hide(); mCameraViewfinder->hide(); ui->lazerDistance->hide(); ui->scanButton->hide(); ui->x1Label->show(); ui->y1Label->show(); ui->z1Label->show(); ui->x2Label->show(); ui->y2Label->show(); ui->z2Label->show(); ui->moterLLable->show(); ui->xAxis->show(); ui->yAxis->show(); ui->zAxis->show(); ui->xRotate->show(); ui->yRotate->show(); ui->zRotate->show(); ui->moterL->show(); ui->scanButton->show(); }); connect(mLazerAction, &QAction::triggered, [&](){ mCamera->stop(); ui->ScrollArea->hide(); ui->scrollAreaWidgetContents->hide(); mCameraViewfinder->hide(); ui->scanButton->hide(); ui->moterL->hide(); ui->xAxis->hide(); ui->yAxis->hide(); ui->zAxis->hide(); ui->xRotate->hide(); ui->yRotate->hide(); ui->zRotate->hide(); ui->x1Label->hide(); ui->y1Label->hide(); ui->z1Label->hide(); ui->x2Label->hide(); ui->y2Label->hide(); ui->z2Label->hide(); ui->moterLLable->hide(); ui->lazerDistance->show(); }); //to change the value of the lazer distance //have ros input a new string ui->lazerDistance->setText("0"); //funtions to set the values of the moters }
void motorcontroll(double x1,double x2, double y1, double y2, double z1, double z2,double l1)
{
ui->xAxis->setValue(x1);
ui->yAxis->setValue(y1);
ui->zAxis->setValue(z1);
ui->xRotate->setValue(x2);
ui->yRotate->setValue(y2);
ui->zRotate->setValue(z2);
ui->moterL->setValue(l1);
}Widget::~Widget()
{
delete ui;
} -
Hi,
The method in the cpp file is not properly scoped. You forgot to prefix it with the class name.