Задний фон окна наследуется всеми виджетами?

Подскажите пожалуйста как поменять задний фон в PyQt5 так, чтобы остальные элементы не менялись?

main.py

import sys
from PyQt5 import QtWidgets, QtCore, QtGui
from design import Ui_MainWindow as Design


class Test(QtWidgets.QMainWindow, Design):
    def __init__(self):
        super().__init__()
        self.setupUi(self)


if __name__ == "__main__":
    app = QtWidgets.QApplication([])
    testapp = Test()
    testapp.show()
    sys.exit(app.exec_())

design

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(800, 600)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setStyleSheet("background-image: url(derevo.jpg);")
        self.centralwidget.setObjectName("centralwidget")
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(450, 20, 331, 51))
        font = QtGui.QFont()
        font.setPointSize(40)
        font.setBold(True)
        font.setWeight(75)
        self.label.setFont(font)
        self.label.setStyleSheet("color: rgb(255, 255, 255);")
        self.label.setObjectName("label")
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(600, 80, 75, 23))
        self.pushButton.setStyleSheet("background-color: rgb(170, 255, 0);\n"
"color: rgb(255, 255, 255);"
)
        self.pushButton.setObjectName("pushButton")
        self.textEdit = QtWidgets.QTextEdit(self.centralwidget)
        self.textEdit.setGeometry(QtCore.QRect(460, 80, 104, 71))
        self.textEdit.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(255, 255, 255);")
        self.textEdit.setObjectName("textEdit")
        MainWindow.setCentralWidget(self.centralwidget)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.label.setText(_translate("MainWindow", "БАЛАНС"))
        self.pushButton.setText(_translate("MainWindow", "PushButton"))


Ответы (1 шт):

Автор решения: S. Nick

Замените

self.centralwidget.setStyleSheet("background-image: url(derevo.jpg);")

на

#                                 vvvvvvvvvvvvvv
self.centralwidget.setStyleSheet("#centralwidget {background-image: url(derevo.jpg);}")

main.py

import sys
from PyQt5 import QtWidgets, QtCore, QtGui

#from design import Ui_MainWindow as Design
class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(800, 600)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setStyleSheet(
            "#centralwidget {background-image: url(tile.png);}"
        )
        self.centralwidget.setObjectName("centralwidget")
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(450, 20, 331, 51))
        font = QtGui.QFont()
        font.setPointSize(40)
        font.setBold(True)
        font.setWeight(75)
        self.label.setFont(font)
        self.label.setStyleSheet("color: rgb(255, 255, 255);")
        self.label.setObjectName("label")
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(600, 80, 75, 23))
        self.pushButton.setStyleSheet("background-color: rgb(170, 255, 0);\n"
"color: rgb(255, 255, 255);"
)
        self.pushButton.setObjectName("pushButton")
        self.textEdit = QtWidgets.QTextEdit(self.centralwidget)
        self.textEdit.setGeometry(QtCore.QRect(460, 80, 104, 71))
        self.textEdit.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(255, 255, 255);")
        self.textEdit.setObjectName("textEdit")
        MainWindow.setCentralWidget(self.centralwidget)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.label.setText(_translate("MainWindow", "БАЛАНС"))
        self.pushButton.setText(_translate("MainWindow", "PushButton"))
        

class Test(QtWidgets.QMainWindow, Ui_MainWindow):    # Design
    def __init__(self):
        super().__init__()
        self.setupUi(self)


if __name__ == "__main__":
    app = QtWidgets.QApplication([])
    testapp = Test()
    testapp.show()
    sys.exit(app.exec_())        

введите сюда описание изображения

→ Ссылка