Beispiel #1
0
Gui::Gui(Shared* sm)
{

    this->sm = sm;

    //Creation and setup of Gui elements
    QGridLayout* mainLayout = new QGridLayout();
    labelImage = new QLabel();
    mainLayout->addWidget(labelImage, 0, 0);
    setLayout(mainLayout);
    setVisible(true);

    //We connect a signat to a slot to be able to do something from an incoming signal.
    connect(this, SIGNAL(signal_updateGUI()), this, SLOT(on_updateGUI_recieved()));

    show();

}
Beispiel #2
0
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    connect(this, SIGNAL(signal_updateGUI()), this, SLOT(updateGUI_recieved()));
	ui->setupUi(this);
//	ui->battery->setValue(60.0);

    vel = new VelWidget();;

    dataw = new DataWidget();

	linx=liny=linz=0.0;
    roll=pitch=yaw=0.0;

	ui->tabWidget->setCurrentIndex(0);

    this->initButtons();
}
GUI::GUI(Sensors* sensors)
{

    this->sensors = sensors;

    QGridLayout* mainLayout = new QGridLayout();

    labelImage = new QLabel();
    labelImage_filtered_hsv = new QLabel();
    labelImage_filtered_rgb = new QLabel();
    labelImage_hsv = new QLabel();
    labelImage_rgb = new QLabel();

    QGroupBox* boxRGB = new QGroupBox("RGB");
    QGroupBox* boxHSV = new QGroupBox("HSV");
    QGridLayout* layRGB = new QGridLayout();
    QGridLayout* layHSV = new QGridLayout();

    boxRGB->setLayout(layRGB);
    boxHSV->setLayout(layHSV);

    sliderR_min = new QSlider();
    sliderB_min = new QSlider();
    sliderG_min = new QSlider();
    sliderR_max = new QSlider();
    sliderB_max = new QSlider();
    sliderG_max = new QSlider();
    textR_min = new QLabel("R min");
    textG_min = new QLabel("G min");
    textB_min = new QLabel("B min");
    textR_max = new QLabel("R max");
    textG_max = new QLabel("G max");
    textB_max = new QLabel("B max");
    textR_value_min = new QLabel();
    textG_value_min = new QLabel();
    textB_value_min = new QLabel();
    textR_value_max = new QLabel();
    textG_value_max = new QLabel();
    textB_value_max = new QLabel();
    sliderR_min->setMaximum(255);
    sliderG_min->setMaximum(255);
    sliderB_min->setMaximum(255);
    sliderR_max->setMaximum(255);
    sliderG_max->setMaximum(255);
    sliderB_max->setMaximum(255);

    layRGB->addWidget(textR_max, 0, 0);
    layRGB->addWidget(textR_min, 0, 1);
    layRGB->addWidget(textG_max, 0, 2);
    layRGB->addWidget(textG_min, 0, 3);
    layRGB->addWidget(textB_max, 0, 4);
    layRGB->addWidget(textB_min, 0, 5);
    layRGB->addWidget(sliderR_max, 1, 0);
    layRGB->addWidget(sliderR_min, 1, 1);
    layRGB->addWidget(sliderG_max, 1, 2);
    layRGB->addWidget(sliderG_min, 1, 3);
    layRGB->addWidget(sliderB_max, 1, 4);
    layRGB->addWidget(sliderB_min, 1, 5);
    layRGB->addWidget(textR_value_max, 2, 0);
    layRGB->addWidget(textR_value_min, 2, 1);
    layRGB->addWidget(textG_value_max, 2, 2);
    layRGB->addWidget(textG_value_min, 2, 3);
    layRGB->addWidget(textB_value_max, 2, 4);
    layRGB->addWidget(textB_value_min, 2, 5);

    sliderH_min = new QDoubleSpinBox();
    sliderS_min= new QDoubleSpinBox();
    sliderV_min = new QDoubleSpinBox();
    textH_min = new QLabel("H min");
    textS_min = new QLabel("S min");
    textV_min = new QLabel("V min");
    sliderH_max = new QDoubleSpinBox();
    sliderS_max= new QDoubleSpinBox();
    sliderV_max = new QDoubleSpinBox();
    textH_max = new QLabel("H max");
    textS_max = new QLabel("S max");
    textV_max = new QLabel("V max");
    textH_value_max = new QLabel();
    textS_value_max = new QLabel();
    textV_value_max = new QLabel();
    textH_value_min = new QLabel();
    textS_value_min = new QLabel();
    textV_value_min = new QLabel();

    sliderH_min->setMaximum(6.29);
    sliderH_max->setMaximum(6.29);
    sliderS_min->setMaximum(1.1);
    sliderS_max->setMaximum(1);
    sliderV_max->setMaximum(255.1);
    sliderV_min->setMaximum(255);

    layHSV->addWidget(textH_max, 0, 0);
    layHSV->addWidget(textH_min, 0, 1);
    layHSV->addWidget(textS_max, 0, 2);
    layHSV->addWidget(textS_min, 0, 3);
    layHSV->addWidget(textV_max, 0, 4);
    layHSV->addWidget(textV_min, 0, 5);
    layHSV->addWidget(sliderH_max, 1, 0);
    layHSV->addWidget(sliderH_min, 1, 1);
    layHSV->addWidget(sliderS_max, 1, 2);
    layHSV->addWidget(sliderS_min, 1, 3);
    layHSV->addWidget(sliderV_max, 1, 4);
    layHSV->addWidget(sliderV_min, 1, 5);
    layHSV->addWidget(textH_value_max, 2, 0);
    layHSV->addWidget(textH_value_min, 2, 1);
    layHSV->addWidget(textS_value_max, 2, 2);
    layHSV->addWidget(textS_value_min, 2, 3);
    layHSV->addWidget(textV_value_max, 2, 4);
    layHSV->addWidget(textV_value_min, 2, 5);


    mainLayout->addWidget(labelImage, 0, 0);
    mainLayout->addWidget(labelImage_filtered_rgb, 0, 1);
    mainLayout->addWidget(labelImage_filtered_hsv, 0, 2);
    mainLayout->addWidget(labelImage_hsv, 2, 2);
    mainLayout->addWidget(labelImage_rgb, 2, 1);
    mainLayout->addWidget(boxRGB, 1, 1);
    mainLayout->addWidget(boxHSV, 1, 2);

    setLayout(mainLayout);

    setVisible(true);

    hsv_image = ColorFilter::draw_hsvmap(320);

    connect(this, SIGNAL(signal_updateGUI()), this, SLOT(on_updateGUI_recieved()));

    show();

    sliderH_max->setValue(3.8);
    sliderH_min->setValue(3.2);
    sliderS_max->setValue(1.0);
    sliderS_min->setValue(0.5);
    sliderV_max->setValue(255);
    sliderV_min->setValue(140);

    sliderR_max->setValue(0);
    sliderR_min->setValue(0);
    sliderB_max->setValue(255);
    sliderB_min->setValue(0);
    sliderG_max->setValue(255);
    sliderG_min->setValue(0);

    kalman_RGB = new Kalman2D();
    kalman_HSV = new Kalman2D();

    x_rgb=0;
    y_rgb=0;
    y_hsv=0;
    x_hsv=0;

}
void GUI::updateThreadGUI()
{
    emit signal_updateGUI();
}
Beispiel #5
0
void Gui::updateThreadGUI()
{
    //emit the signal to update the gui
    emit signal_updateGUI();
}
Beispiel #6
0
void MainWindow::updateThreadGUI()
{
	emit signal_updateGUI();
}
Beispiel #7
0
GUI::GUI(Robot* robot, Ice::CommunicatorPtr ic)
{

    this->robot = robot;

    QGridLayout* mainLayout = new QGridLayout();
    QGridLayout* layoutControl = new QGridLayout();
    QVBoxLayout* layoutButtons = new QVBoxLayout();


    camerasWidget = new CamerasWidget(robot);

    buttonStopRobot = new QPushButton("Stop Robot");
    checkLaser = new QCheckBox("Laser");
    checkCameras = new QCheckBox("Cameras");

	InfoCurrentV = new QLabel("Current v (m/s):");
	InfoCurrentW = new QLabel("Current w (rad/s):");
	currentV = new QLabel("0");
	currentW = new QLabel("0");

    canvasVW = new controlVW();
    canvasVW->setIC(ic);
    laserWidget =new LaserWidget();


    int indiceFilaGui = 0;
    layoutControl->addWidget(canvasVW, 0, 0);

    layoutButtons->addWidget(InfoCurrentV, 0);
    layoutButtons->addWidget(currentV, 1);
    layoutButtons->addWidget(InfoCurrentW, 2);
    layoutButtons->addWidget(currentW, 3);

	QSpacerItem *item = new QSpacerItem(0,200, QSizePolicy::Expanding, QSizePolicy::Fixed);
	layoutButtons->addItem(item);

    layoutButtons->addWidget(buttonStopRobot, 2);
    layoutButtons->addWidget(checkCameras, 3);
    layoutButtons->addWidget(checkLaser, 4);



    mainLayout->addLayout(layoutControl, 0, 0);
    mainLayout->addLayout(layoutButtons, 0, 1);

    setLayout(mainLayout);

    setVisible(true);

    adjustSize();

    connect(this, SIGNAL(signal_updateGUI()), this, SLOT(on_updateGUI_recieved()));

    connect(buttonStopRobot, SIGNAL(clicked()),this, SLOT(on_buttonStopRobot_clicked()) );

    connect(canvasVW, SIGNAL(VW_changed(float,float)), this, SLOT(on_update_canvas_recieved(float, float)));

    connect(checkLaser, SIGNAL(stateChanged(int)), this, SLOT(on_checks_changed()));
    connect(checkCameras, SIGNAL(stateChanged(int)), this, SLOT(on_checks_changed()));

    show();

}