Как применить эффект тени QGraphicsDropShadowEffect к QGraphicsItem?

Рейтинг: 2Ответов: 1Опубликовано: 14.02.2015

Хочу добавлять Items в QGraphicsScene и хочу, чтобы они отбрасывали тень. Я использую следующий код, но безуспешно:

scene = new QGraphicsScene(this);
ui->graphicsView->setScene(scene);

QGraphicsDropShadowEffect * effect = new QGraphicsDropShadowEffect();
effect->setBlurRadius(50);

QGraphicsRectItem * item = new QGraphicsRectItem(100,100,50,50);
item->setBrush(QBrush(Qt::cyan));
item->setGraphicsEffect(effect);
scene->addItem(item);

Однако если применить этот же эффект к graphicsView, работает отлично

  ui->graphicsView->setGraphicsEffect(effect);

В чем может быть причина?

Ответы

▲ 1Принят

Нужен прокси. Та же проблема была, вот аноним когда-то помог решить:

https://www.linux.org.ru/forum/development/10631940?lastmod=1404293866953#comment-10632350