pyface.color module¶
Color classes and corresponding trait types for Pyface.
The base Color class holds red, green, blue and alpha channel values as a tuple of normalized values from 0.0 to 1.0. Various property traits pull out the individual channel values and supply values for the HSV and HSL colour spaces (with and without alpha).
The from_toolkit
and to_toolkit
methods allow conversion to and
from native toolkit color objects.
- pyface.color.Channel = Range(0.0, 1.0, value=1.0, channel=True)¶
A trait holding a single channel value.
- pyface.color.ChannelTuple = Tuple(Channel, Channel, Channel)¶
A trait holding three channel values.
- pyface.color.AlphaChannelTuple = Tuple(Channel, Channel, Channel, Channel)¶
A trait holding four channel values.
- class pyface.color.Color[source]¶
Bases:
HasStrictTraits
A mutable specification of a color with alpha.
This is a class designed to be used by user interface elements which need to color some or all of the interface element. Each color has a number of different representations as channel tuples, each channel holding a value between 0.0 and 1.0, inclusive. The standard red, green, blue and alpha channels are also provided as convenience properties.
Methods are provided to convert to and from toolkit-specific color objects.
Colors implement equality testing, but are not hashable as they are mutable, and so are not suitable for use as dictionary keys. If you need a dictionary key, use an appropriate channel tuple from the object.
- rgba = AlphaChannelTuple()¶
A tuple holding the red, green, blue, and alpha channels.
- rgb = Property(ChannelTuple(), observe='rgba')¶
A tuple holding the red, green, and blue channels.
- red = Property(Channel, observe='rgba')¶
The red channel.
- green = Property(Channel, observe='rgba')¶
The green channel.
- blue = Property(Channel, observe='rgba')¶
The blue channel.
- alpha = Property(Channel, observe='rgba')¶
The alpha channel.
- hsva = Property(AlphaChannelTuple, observe='rgba')¶
A tuple holding the hue, saturation, value, and alpha channels.
- hsv = Property(ChannelTuple, observe='rgb')¶
A tuple holding the hue, saturation, and value channels.
- hlsa = Property(AlphaChannelTuple, observe='rgba')¶
A tuple holding the hue, lightness, saturation, and alpha channels.
- hls = Property(ChannelTuple, observe='rgb')¶
A tuple holding the hue, lightness, and saturation channels.
- is_dark = Property(Bool, observe='rgba')¶
Whether the color is dark for contrast purposes.
- classmethod from_str(text, **traits)[source]¶
Create a new Color object from a string.
- Parameters
text (str) –
A string holding the representation of the color. This can be:
a color name, including all CSS color names, plus any additional names found in pyface.color.color_table. The names are normalized to lower case and stripped of whitespace, hyphens and underscores.
a hex representation of the color in the form ‘#RGB’, ‘#RGBA’, ‘#RRGGBB’, ‘#RRGGBBAA’, ‘#RRRRGGGGBBBB’, or ‘#RRRRGGGGBBBBAAAA’.
**traits – Any additional trait values to be passed as keyword arguments.
- Raises
ColorParseError – If the string cannot be converted to a valid color.
- classmethod from_toolkit(toolkit_color, **traits)[source]¶
Create a new Color object from a toolkit color object.
- Parameters
toolkit_color (toolkit object) – A toolkit color object, such as a Qt QColor or a Wx wx.Colour.
**traits – Any additional trait values to be passed as keyword arguments.