[PyKDE] Strange QColor behavior when passing rgb in constructor.
Phil Thompson
phil at riverbankcomputing.co.uk
Thu Mar 10 17:57:30 GMT 2005
On Wednesday 09 March 2005 12:16 pm, Truls A. Tangstad wrote:
> I've been testing and debugging to find a problem in our code where
> plots just weren't drawn (or rather drawn in white on white
> background), which I finally tracked down to be the way I used QColor.
>
> I assumed that passing a combined rgb-value as an int to QColor()
> would create the right color according to [1], but I kept getting
> white, no matter what rgb value I set. What was even stranger was that
> the QColor-methods red(), green() and blue() returned the correct
> value for the created QColor-instance.
>
> I found that the problem was the default value for the pixel-parameter
> (documented in [1] to be pixel=0xffffffff). When setting the value to
> -1 or 0xffffffff explicitly, everything worked fine. When omitting it,
> the color displayed as white (might be specific to my system).
>
> Also, creating an empty QColor, then setting rgb with setRgb() works
> fine.
>
> I created a small example (attached) showing the problem, creating two
> QMainWindows that should be painted red, but for me displays as one
> white and one red. A C++ port of the code did not have the bug.
>
> My software versions are as follows (running debian unstable):
> python2.3-qt3 3.13-4
> libqt3c102-mt 3.3.3-8
> libqt3c102 3.3.3-8
>
> And yes.. I know this is really a minor issue, as I can easily work
> around it, but I hope that fixing the problem will keep others from
> spending as much time as I did to try to figure out why their code
> misbehaves.
>
> [1] - http://doc.trolltech.com/3.3/qcolor.html#QColor-4
They are both red for me.
Phil
More information about the PyQt
mailing list