Создал класс кнопки. так как в стилях нет такого, чтобы можно было тень отбрасывать от картинки кнопки, то приходится делать это кодом. и вот, после долгого гугления пришел к такому коду. но события не воспроизводятся. почему?
ButtonPlay::ButtonPlay(QWidget *parent) : QPushButton(parent)
{
QPixmap pixmap(":/assets/button_play.png");
setIcon(QIcon(pixmap));
setIconSize(pixmap.rect().size());
setFixedSize(pixmap.width(), pixmap.height());
move(460, 240);
}
bool ButtonPlay::event(QEvent *e) {
switch(e->type()) {
case QEvent::Enter: {
QGraphicsDropShadowEffect effect;
effect.setBlurRadius(30);
effect.setColor(QColor(0,0,0,255));
effect.setXOffset(10);
effect.setYOffset(10);
setGraphicsEffect(&effect);
}
case QEvent::Leave: {
QGraphicsDropShadowEffect effect;
effect.setBlurRadius(0);
effect.setColor(QColor(0,0,0,0));
effect.setXOffset(0);
effect.setYOffset(0);
setGraphicsEffect(&effect);
}
}
return QWidget::event(e);
}