connect не связывает сигнал clicked QToolButton помещенного в QGridLayout со slot'ом класса



  • Посмотрите пожалуйста свежим взглядом ... :) При нажатии на кнопку QToolButton::clicked не происходит вызова метода JCPModelsWidget::onButtonsCliked ... Ошибок как при компиляции так и при выполнении никаких нет. Что то делаю не так но что понять не получается. Буду очень благодарен за любые мнения !

    QGridLayout* grid = new QGridLayout(this);
    ...
    for (int l = 0; l < list.size(); ++l) {
    QFileInfo fileInfo = list.at(l);
    ...
    QIcon icon(fileInfo.filePath());
    QToolButton* button = new QToolButton;
    button->setIcon(icon);
    button->setText(fileInfo.baseName());
    button->setIconSize(QSize(85,85));
    button->setToolButtonStyle (Qt::ToolButtonTextUnderIcon);
    connect(button, &QToolButton::clicked, this, &JCPModelsWidget::onButtonsCliked);
    grid->addWidget(button,pos_v,pos_h);
    ...
    } // end for l
    ptrToUI->modelsGroup->setLayout(grid);

    void JCPModelsWidget::onButtonsCliked() {
    qDebug() << "Что я делаю не так ? :)";
    };

    #ifndef JCPMODELS_H
    #define JCPMODELS_H
    #include <QObject>
    #include <QToolButton>
    #include <QGridLayout>
    #include <ui_jcp.h>
    #include <ads.h>

    class JCPModelsWidget : public QWidget {
    Q_OBJECT
    public:
    JCPModelsWidget(Ui::JCP* _ptrToUI, QString pathToModelsDir, QWidget* parent=nullptr);
    CONDITIONS load(QString pathToModelsDir);
    void errMsg(QString errmsg);
    private slots:
    void onButtonsCliked();
    private:
    Ui::JCP* ptrToUI;
    };

    #endif // JCPMODELS_H



  • Закинул на форму виджет ToolButton в .cpp файле написал connect();

    connect(ui->toolButton, &QToolButton::clicked, this, &MainWindow::forToolButton);
    

    И всё нормально отработало нажимая на кнопку toolButton


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.