Работаю с массивами, нужно вывести данные на график в другую форму.
mainwindow.h#include <form.h>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
/......../
~MainWindow();
private slots:
void on_pushButtonGen_clicked();
void on_pushButtonGO_clicked();
void on_pushButtonShowGraph_clicked();
signals:
void sendData(int PopulationSum, double fitnesMean);
private:
Ui::MainWindow *ui;
Form *form;
};
#endif // MAINWINDOW_H
сигнал
sendData будет отправляться в функции
on_pushButtonGen_clicked()
Заголовочный файл формы куда будут передаваться данные из главной.
form.h#ifndef FORM_H
#define FORM_H
#include <QWidget>
namespace Ui {
class Form;
}
class Form : public QWidget
{
Q_OBJECT
public:
explicit Form(QWidget *parent = 0);
~Form();
private:
Ui::Form *ui;
/......../
public slots:
void recieveData(int _PopulationSum, double _fitnesMean);
};
#endif // FORM_H
В слот
recieveData идет сигнал
sendData
Вот так я определил этот слот в
form.cppvoid Form::recieveData(int _PopulationSum, double _fitnesMean)
{
points <<QPointF(_PopulationSum,_fitnesMean);
curve->setSamples( points );
curve->attach( ui->Qwt_Widget );
ui->lineEdit->setText("I WORK"); ///проверяет, работает ли функция...не работает..
}
Ну и собственно сам
mainwindow.cpp#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <form.h>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
form = new Form();
connect(ui->pushButtonShowGraph, SIGNAL(clicked()), form, SLOT(show())); //
connect(ui->pushButtonGen, SIGNAL(clicked()), this, SLOT(on_pushButtonGen_clicked()));
connect(this, SIGNAL(sendData(int PopulationSum, double fitnesMean)), form,
SLOT(recieveData(int _PopulationSum, double _fitnesMean)));
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_pushButtonGen_clicked()
{
/....код генерирующий и обрабатывающий массивы....\
emit sendData(PopulationSum,PBest->fitnessMean); //не могу понять, почему не доходит.
}
В чем может быть проблема? Подскажите, пожалуйста.