Здравствуйте. Возникла проблема при передаче параметра в функцию класса родителя средствами сигналов слотов.
Использовал лямбда функцию. Внутри класса всё передаётся замечательно.
parent.hclass Rashod : public QWidget
{
Q_OBJECT
public:
explicit Rashod(QWidget *parent = nullptr);
private:
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
QVBoxLayout *vblay = new QVBoxLayout();
QPushButton *add_btn = new QPushButton("Добавить");
public slots:
void show_add_btn(QString s);
};
parent.cppvoid Rashod::show_add_btn(QString s)
{
add_btn->show();
QLabel *knt = new QLabel(s);
vblay->addWidget(knt, 0);
child *chuld = new chuld(this);
}
child.hclass add_widget : public QWidget
{
Q_OBJECT
public:
explicit add_widget(QWidget *parent);
private:
QPushButton *add = new QPushButton("Добавить");
QString FIO;
};
child.cppadd_widget::add_widget(QWidget *parent) : QWidget(parent)
{
connect(this->add, &QPushButton::clicked, [=](){parent->show_add_btn(FIO);});
}
child.cpp:31: ошибка: ‘class QWidget’ has no member named ‘show_add_btn’
connect(this->add, &QPushButton::clicked, [=](){parent->show_add_btn(FIO);});
^~~~~~~~~~~~