Ich habe in den letzten 2 Tagen damit gekämpft ... Ich möchte einfach ein gestrecktes Hintergrundbild zu meinem Eltern QWidget hinzufügen. Ich habe buchstäblich Dutzende Male versucht, nachdem ich überall gesucht habe, aber ich bin immer noch mit diesem Problem beschäftigt. Ich verwende keine Ressourcen (von Qt Designer). PSB:Es ist nicht möglich, ein Hintergrundbild im übergeordneten QWidget mit PyQt5 hinzuzufügen.
from PyQt5 import QtCore, QtWidgets, QtGui
import sys
class Ui_Form(QtWidgets.QWidget):
def __init__(self):
QtWidgets.QWidget.__init__(self)
self.setupUi(self)
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(860, 619)
Form.setStyleSheet("QWidget#Form {border-image: url(space.png) 0 0 0 0 stretch stretch;}")
Und es funktioniert nicht (Standard BG angezeigt). Aber wenn ich ausführen dies:
Form.setStyleSheet("border-image: url(space.png) 0 0 0 0 stretch stretch;")
Alle Qwidgets Kinder den Hintergrund erhalten, die offensichtlich nicht das, was ich will. Aber es beweist zumindest, dass es kein Problem mit der Ressource selbst gibt. Ich kann nicht glauben, dass einige grundlegende Funktionen wie ein Hintergrundbild Einstellung nicht in PyQt5 unterstützt wird ... und appearantly Ich bin nicht der einzige:
Ich habe versucht, es über Qpalette funktioniert () und es funktioniert besser, aber ich weiß nicht, wie das Hintergrundbild gestreckt machen = /:
image = QtGui.QImage("space.png")
palette = QtGui.QPalette()
palette.setBrush(10, QtGui.QBrush(image))
Form.setPalette(palette)
Jede Idee?
Versuch 'Form.setStyleSheet (" border-image: url (Raum. png); ")' .... übrigens hoffe du führst 'setStyleSheet' nicht zweimal (in der init Methode und woanders) – danidee
Thx für deine Antwort @danidee. Ich habe deinen Befehl ausprobiert und das Bild wird leider auf alle Kinder der Eltern angewendet (1 Hlayout und 2 QGroupBox). Auch nachdem ich alle 'setStyleSheet' meiner Widget-Anwendung kommentiert habe, die ich für einige meiner QpushButton oder QGroupBox habe, stehe ich vor dem gleichen Problem ... – Trunks10