Не коннектится слот Qt5

189
06 мая 2018, 20:20

Задача с вероятно очень глупой ошибкой перенесенная на тестовый проект:

сделать так что бы кнопка на форме (MainWindow) вызвала метод класса (nnn) void buttonEdit который в свою очередь при помощи emit вызывает сигнал addPush. Его принимает в MainWindow слот PUSH и делает все то что спланировано. Проблема в том что при создании слота:

connect(n, &nnn::addPush, this, &MainWindow::PUSH);

выдает следующее:

и да, если еще коннектить старым способом (с Qt4), то выдает следующее:

Код MainWindow.h:

#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include "nnn.h"
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
    Q_OBJECT
public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
    void setButtonTextFor2Form(QString S);
private slots:
    void on_pushButton_2_clicked();
public slots:
    void PUSH();
private:
    Ui::MainWindow *ui;
    nnn* n;
};
#endif // MAINWINDOW_H

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);
    nnn *n = new nnn();
    connect(n, &nnn::addPush, this, &MainWindow::PUSH);
}
MainWindow::~MainWindow()
{
    delete ui;
}
void MainWindow::on_pushButton_2_clicked()
{
    n->buttonEdit();
}
void MainWindow::PUSH()
{
    ui->pushButton->setText("эта кнопка должна быть нажата");
}

nnn.h:

#ifndef NNN_H
#define NNN_H
#include <QObject>

class nnn: QObject
{
    Q_OBJECT
public:
    nnn();
    void buttonEdit();
signals:
    void addPush();
};
#endif // NNN_H

nnn.cpp:

#include "nnn.h"

nnn::nnn()
{
}
void nnn::buttonEdit()
{
    emit addPush();
}
READ ALSO
Как работает данный код для шифрования слова шифром Цезаря?

Как работает данный код для шифрования слова шифром Цезаря?

Откопал код шифра Цезаря на C++ Собственно, вот он:

201
С++ в Visual Studio

С++ в Visual Studio

Решил проверить код из книги ООП в С++ Лафоре но в Visual Studio не получается его повторить

164
Диалоговое окно для выбора файла потока ввода

Диалоговое окно для выбора файла потока ввода

Написал простой векторный редактор и сохранение изображения идет в текстовый документКак сделать чтобы при нажатии на соответствующую...

191
_com_ptr_t::CreateInstance

_com_ptr_t::CreateInstance

Есть два приложения, App1 и App2App2 - стартует из первого по средствам _com_ptr_t m_pApp2

152