Всем привет!
Возникла проблема и что-то как-то не вижу решения(
Есть 2 класса, в 1 классе я получаю из едита имя
И мне необходимо во 2 классе получить данную переменную ,обычное наследование не полходит, т.к. классы, котоыре наследуются от QObject - не наследуются.
Пытался делать через сигналы и слоты, но не выходит(
Просто ничего не происходит. ВОт немного кода:
1 класс, где получаю имя
class MainWindow : public QMainWindow,public WorkWithArrayName
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
void fireSignl();
private slots:
void on_pushButton_clicked();
void on_actionCreateNewWindow_triggered();
void on_pushButton_2_clicked();
private:
Ui::MainWindow *ui;
QSqlDatabase db;
protected:
QString Name,Password,*qwe,*password_arr,userN;
signals:
void foo(QString name);
};
Метод foo
void MainWindow::fireSignl()
{
emit foo(userN);
}
2 класс
class AfterRegistration : public QMainWindow, public WorkWithArrayName
{
Q_OBJECT
public:
explicit AfterRegistration(QWidget *parent = 0);
~AfterRegistration();
void BrightContrastEffect();
private slots:
void on_pushButton_2_clicked();
void on_pushButton_clicked();
void on_pushButton_3_clicked();
void on_pushButton_4_clicked();
void on_pushButton_8_clicked();
public slots:
void bar(QString name);
private:
Mat MatImage;
IplImage *dst=0;
Mat dst1;
int i,j,k=0;
char* nameOfFile;
char *named,*pathc,*allPA;
QString nam;
Ui::AfterRegistration *ui;
};
метод bar
void AfterRegistration::bar(QString name)
{
nam=name;
}
Вот сама связь,которую вызываю в cpp файле второго класса
MainWindow mainwin;
AfterRegistration reg;
QObject::connect(&mainwin,SIGNAL(foo(QString)),®,SLOT(bar(QString)));
mainwin.fireSignl();