QWidget zeichnet keine Hintergrundfarbe

Ich verwende PySide 1.2.1 mit Python 2.7 und benötige ein Widget, um einen farbigen Hintergrund zu zeichnen. In Qt Designer habe ich ein einfaches Fenster erstellt, das aus einer Beschriftung, einem Widget mit drei weiteren Elementen und einer weiteren Beschriftung besteht. Für das Widget, das die Schaltfläche, das Optionsfeld und das Kontrollkästchen enthält, setze ich dasstyleSheet Eigentum anbackground-color: #FFFFFF. In Qt Designer wird alles wie gewünscht gerendert:

In Pyside zeichnet das Widget jedoch nicht die Hintergrundfarbe, sondern die darauf enthaltenen Elemente übernehmen die Farbe korrekt:

Hier ist das UI-XML:

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>MainWindow</class>
 <widget class="QMainWindow" name="MainWindow">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>276</width>
    <height>133</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>MainWindow</string>
  </property>
  <widget class="QWidget" name="centralwidget">
   <layout class="QVBoxLayout" name="verticalLayout" stretch="0,1,1">
    <item>
     <widget class="QLabel" name="label">
      <property name="text">
       <string>The following should have white background:</string>
      </property>
     </widget>
    </item>
    <item>
     <widget class="QWidget" name="widget" native="true">
      <property name="styleSheet">
       <string notr="true">background-color: #FFFFFF</string>
      </property>
      <layout class="QHBoxLayout" name="horizontalLayout">
       <item>
        <widget class="QPushButton" name="pushButton">
         <property name="text">
          <string>PushButton</string>
         </property>
        </widget>
       </item>
       <item>
        <widget class="QRadioButton" name="radioButton">
         <property name="text">
          <string>RadioButton</string>
         </property>
        </widget>
       </item>
       <item>
        <widget class="QCheckBox" name="checkBox">
         <property name="text">
          <string>CheckBox</string>
         </property>
        </widget>
       </item>
      </layout>
     </widget>
    </item>
    <item>
     <widget class="QLabel" name="label_2">
      <property name="text">
       <string>But it hasn't :-(</string>
      </property>
     </widget>
    </item>
   </layout>
  </widget>
  <widget class="QMenuBar" name="menubar">
   <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
     <width>276</width>
     <height>18</height>
    </rect>
   </property>
  </widget>
  <widget class="QStatusBar" name="statusbar"/>
 </widget>
 <resources/>
 <connections/>
</ui>

Hier ist mein Python-Code, der nichts Besonderes tut:

import sys

from PySide import QtCore, QtGui

from generated.test import Ui_MainWindow

class MainWindow(Ui_MainWindow,QtCore.QObject):

    def __init__(self, *args, **kwargs):
        Ui_MainWindow.__init__(self, *args, **kwargs)
        QtCore.QObject.__init__(self)

    def setupUi(self, MainWindow):
        Ui_MainWindow.setupUi(self, MainWindow)

def main(argv):
    app = QtGui.QApplication(argv)
    mainwindow = QtGui.QMainWindow()

    ui = MainWindow()
    ui.setupUi(mainwindow)

    mainwindow.show()
    sys.exit(app.exec_())

if __name__ == "__main__":
    main(sys.argv)

Ich habe es schon versuchtself.widget.setAutoFillBackground(True), aber nachdie Dokumentation Diese Eigenschaft wird ohnehin deaktiviert, sobald ein gültiger styleSheet-Wert für den Hintergrund vorhanden ist.

Das funktioniert nicht so gut:

p = self.widget.palette()
p.setColor(self.widget.backgroundRole(), QtCore.Qt.white)
self.widget.setPalette(p)

(Habe diese Hinweise vonWie stelle ich die QWidget-Hintergrundfarbe ein?)

Wie kann ich das Widget dazu bringen, die weiße Hintergrundfarbe zu zeichnen?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage