EnableBlurBehindWindow not working



  • Title says it all, code so far :
    @
    int main(int argc, char *argv[])
    {
    QApplication a(argc, argv);
    MainWindow w;

    QtWin::setCompositionEnabled(true);
    QtWin::enableBlurBehindWindow(&w);
    w.show();
    return a.exec();
    

    }
    @

    Headers and dlls are properly included/linked.
    I tried various approach, enabling it from inside the mainwindow .cpp, enabling it after window show(), tried to force-set composition but so far no luck and here I am stuck again.

    I've been constantly using DWM's functions in plain win32 and one hard to notice problem is that you need to set the window's background brush to black since that's what windows uses as a signal that those pixel should be translucent.

    As a very new Qtdeveloper I'm stuck lost and can't find any other thread online for this specific problem,
    Thanks in advance for any answer


  • Moderators

    You need to tell Qt not to fill the widget background because it covers the glass sheet.
    @
    w.setAttribute(Qt::WA_NoSystemBackground);
    @



  • works wonder, thanks


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.