Witam!
Mam następujący fragment kodu:
#include "mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent)
{
QFrame *frm = new QFrame(this);
frm->setGeometry(this->geometry());
QPushButton *btn1 = new QPushButton("Btn1", frm);
btn1->setGeometry(10, 10, 100, 25);
QPushButton *btn2 = new QPushButton("Btn2", frm);
btn2->setGeometry(10, 45, 100, 25);
{
QGraphicsBlurEffect *effect = new QGraphicsBlurEffect(frm);
effect->setBlurRadius(2);
frm->setGraphicsEffect(effect);
}
{
QGraphicsDropShadowEffect *effect = new QGraphicsDropShadowEffect(btn2);
effect->setBlurRadius(30);
effect->setColor(Qt::black);
effect->setOffset(0,0);
btn2->setGraphicsEffect(effect);
}
}
MainWindow::~MainWindow()
{
}
Pod Qt 4.8.6 wszystko jest OK (rys1.png), natomiast pod Qt 5.5.0 btn2
znika (rys2.png). Ewidentnie ma problem z podwójnymi efektami (jeden dla widżetu i jeden dla jego rodzica).
I teraz pytanie: Ja coś skopałem? Czy to może bug w Qt5? A może jest to poprawne zachowanie? Jeśli tak to istnieje jakieś obejście?
Z góry dzięki za wskazówki
Pozdrawiam