[SOLVED] Superimpose Qwidget background on QMainWindow background

  • I have a mainwindow with a Qwidget as the central widget, which in turn consists of serveral widgets. Both the mainwindow and the central widget have a a background image but I'm not able to superimpose the central widget background on the mainwindow background. The central widget background image is translucent so I should be able to see the foggy background image of the mainwindow. The code I'm using now in the mainwindow is

    QPalette p = palette();
    QPixmap pixmap1("background.jpg");

        QDesktopWidget* desktopWidget = QApplication::desktop();
        QRect rect = desktopWidget->availableGeometry();
        QSize size(rect.width() , rect.height());
        QPixmap pixmap(pixmap1.scaled(size));
        p.setBrush(QPalette::Background,  pixmap);


    CentralWidget *cw = new CentralWidget();
    cw->setStyleSheet("background-image: url(bckng.png);");

    Even if I try to set only the central widget background, the image appears as a background for the widgets inside the central widget and not the central widget as a whole.
    I know I have not framed the question very well, but if you are able to understand it, please do help me.

  • Can you attach an image of the result that you are getting, it will be of help.

  • Umm, please don't laugh at me. How do I attach a local file from my computer?

  • Instead of a central widget, I used a QLabel, assigned the layouts to it and set the stylesheet. And it worked!

Log in to reply

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