From 10:00 CET Friday 22nd November we will adjust how the server works to deal with some recently reported problems. Therefore there may be a load problem, if you experience more problems than usual trying to access the forum then please PM AndyS or any of the moderators so they can inform me.


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