Warum überträgt sich der Hintergrund des Frames auf alle anderen Widgets?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
xXSkyWalkerXx1
User
Beiträge: 379
Registriert: Mittwoch 27. Juni 2018, 17:39

Also, nun möchte ich mal mein Programm verschönern, das Problem, welches ich eigentlich seit Anfang an haben, aber zu faul war um zu lösen, ist, dass das Hintergrundbild des Frames sich auf allen anderen Widgets (Buttons und Labels) überträgt.
Ich muss da irgendwie ein Denkfehler vom Prinzip haben, was diese Sache angeht. Kann mir da jemand weiterhelfen? :)

Beispielcode:

Code: Alles auswählen

import sys
from PyQt5.QtWidgets import QApplication , QSplitter, QMainWindow, QFrame, QPushButton , QHBoxLayout

class IssueDemo:
    def screen(self):
        self.app = QApplication(sys.argv)
        self.mainwindow = QMainWindow()
        self.mainwindow.setGeometry(400,300,1100,540)
        self.frame = QFrame()

        self.button = QPushButton("PUSH ME!")

        self.button_layout = QHBoxLayout()
        self.splitter = QSplitter()
        self.splitter.addWidget(self.button)
        self.button_layout.addWidget(self.splitter)
        
        self.frame.setStyleSheet('background-image: url("/home/pi/Bilder/Fortnite_SGI/Fortnite1.jpg")') #oder irgendein anderes Bild

        self.mainwindow.setCentralWidget(self.frame)
        self.frame.setLayout(self.button_layout)
        self.mainwindow.show()


Init = IssueDemo()
Init.screen()
sys.exit(Init.app.exec_())
Zum eigentlichen Programm: https://skymodz.yooco.de/fortnite_gamep ... erface_sgi

Danke im Vorraus und noch 'nen schönen Tag! :)
Grüße, xXSkyWalkerXx1
xXSkyWalkerXx1
User
Beiträge: 379
Registriert: Mittwoch 27. Juni 2018, 17:39

<push-to-top>
xXSkyWalkerXx1
User
Beiträge: 379
Registriert: Mittwoch 27. Juni 2018, 17:39

Lösung selbst gefunden! :P

Warum der Hintergrund des Frames sich auf alle Widgets überträgt weiß ich nicht,
aber man muss eben extra noch alle Widgets transparent setzen.
Sprich: .setStyleSheet("background: transparent;")
Antworten