привет, я учусь qt, и я делаю следующее, чтобы добавить некоторые виджеты в графическую сцену
void MainWindow::addWidgets(QList<QWidget *> &list, int code)
{
if(code == CODE_INFO)
{
QWidget *layoutWidget = new QWidget();
QVBoxLayout *layout = new QVBoxLayout();
foreach(QWidget *w, list)
{
layout->addWidget(w);
this->connect(((ProductInfo*)w), SIGNAL(productClicked()), this, SLOT(getProductDetails()));
}
layoutWidget->setLayout(layout);
this->scene->addWidget(layoutWidget);
}
}
мой класс ProductInfo обрабатывает отпускание мыши и издает сигнал
void ProductInfo::mouseReleaseEvent(QMouseEvent *e)
{
QWidget::mouseReleaseEvent(e);
emit productClicked();
}
проблема в том, что после добавления виджетов на сцену они больше не получают событие отпускания мыши и не генерируют сигнал productClicked, но если я добавляю их в главное окно (не на сцену), они работают как положено. Что я делаю не так?