Почему слот не реагирует на сигнал?

Я хочу, чтобы в MainWindow::slotOpenFormChoice при выбросе сигнала FormChoice::updateInfo() срабатывал слот FormChoice::slotUpdateInfo(). Судя по отладчику сигнал вырабатывается, но останова в слот так и не приходит ( Думаю, что Вам стоит обратить внимание только на последние строчки кода в mainwindow.cpp . я готов к броскам камнями, только объясните, пожалуйста!! Если подытожить, то наверное я не очень понимаю как правильно связать сигнал с слотом. Я пробовал разные комбинации, но ничего не вышло

formchoice.h:

class FormChoice : public QDialog
{
    Q_OBJECT

public:
    explicit FormChoice(QDialog *parent = 0);
    ~FormChoice();

private slots:
    void slotUpdateInfo();

signals:
    void updateInfo();

private:
    Ui::FormChoice *ui;
};

formchoice.cpp:

FormChoice::FormChoice(QDialog *parent) :
    QDialog(parent),
    ui(new Ui::FormChoice)
{
    ui->setupUi(this);
    this->setWindowTitle("Выбор записи");
    

    //this->setWindowFlags(Qt::CustomizeWindowHint | Qt::WindowTitleHint | Qt::WindowMinMaxButtonsHint );
}

void FormChoice::slotUpdateInfo()
{
    int a = 0;//ЗДЕСЬ ХОЧУ ОСТАНОВИТЬСЯ
}


FormChoice::~FormChoice()
{
    delete ui;
}

mainwindow.h:

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QObject* ptrBox, QWidget *parent = 0);
    ~MainWindow();

private slots:
    void slotOpenFormChoice();

private:
    Ui::MainWindow *ui;

    FormChoice* formchoice;

};

mainwindow.cpp:

MainWindow::MainWindow(QObject* ptrBox, QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow),
    formchoice(new FormChoice),
{
    ui->setupUi(this);
    this->setWindowTitle("Наблюдатель");

   /* formchoice = std::make_unique<FormChoice>();*/
    QAction *actionSelectZap = ui->menuBar->addAction(tr("Выбор записи"));
    connect(actionSelectZap,SIGNAL(triggered()),this,SLOT(slotOpenFormChoice()));
   show();
}



void MainWindow::slotOpenFormChoice()
{
    QObject::connect(this, SIGNAL(FormChoice::updateInfo()),formchoice, SLOT(FormChoice::slotUpdateInfo()));
    emit formchoice->updateInfo();
    formchoice->exec();
}

Ответы (0 шт):