Yeah, I"m getting the same problem. If you set the role color for the
child widget, and set the role color for the parent widget, the child
widget just gets the color for the parent widget. This means that you
can't give child widgets their own color. For example, the following
code shows no red<br>
<br>
class AllGreen(QWidget):<br>
&nbsp;&nbsp;&nbsp; def __init__(self):<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; QWidget.__init__(self)<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.w = QWidget(self)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.w.setFixedSize(100, 100)<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; palette = self.w.palette()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; role = self.w.backgroundRole()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; palette.setColor(role, QColor('red'))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.w.setPalette(palette)<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; palette = self.palette()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; role = self.backgroundRole()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; palette.setColor(role, QColor('green'))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.setPalette(palette)<br>
<br>
<br><br><div><span class="gmail_quote">On 2/7/06, <b class="gmail_sendername">V. Armando Sole</b> &lt;<a href="mailto:sole@esrf.fr">sole@esrf.fr</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi,<br><br>At 14:11 07/02/2006 -0900, you wrote:<br>&gt;I relaize that this is a question for qt-interest, but I'm getting a slow<br>&gt;response.<br>&gt;<br>&gt;What is the preferred method for setting the background color of a widget
<br>&gt;in qt4? I'm using palette().setColor(QPalette.Window, mycolor)), but this<br>&gt;setting for child widgets seems to be overriden by the color you set the<br>&gt;parent widget with. Are you supposed to draw a rect in paintEvent()? The
<br>&gt;QWidget docs don't seem to say much.<br><br>I am using this for changing the background color in QLineEdit widgets and<br>so on (self is a QLineEdit derived class). You can give a try:<br><br>&nbsp;&nbsp;&nbsp;&nbsp; def setPaletteBackgroundColor(self, color):
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; palette = self.palette()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; role = self.backgroundRole()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; palette.setColor(role,color)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.setPalette(palette)<br><br>It is almost what you are doing. Could it be you are not giving the
<br>appropriate role?<br><br>Regards,<br><br>Armando<br>************************************************************<br>V. A. Solé<br>ESRF - BLISS Group PHONE: +33 (0)4 76 88 25 84<br>BP
220&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
FAX:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +33 (0)4 76 88 25 42<br>38043 - Grenoble Cedex<br>France<br>************************************************************<br><br></blockquote></div><br><br clear="all"><br>-- <br>Patrick Kidd Stinson<br><a href="http://pkaudio.sourceforge.net/">
http://pkaudio.sourceforge.net/</a><br><a href="http://pksampler.sourceforge.net/">http://pksampler.sourceforge.net/</a>