Awesome
vcolorpicker
Simple visual Color Picker with a modern UI created with Qt to easily get color input from the user.
Installation
-
Install using pip:
pip install vcolorpicker
or clone the repository yourself and run:
pip install .
Usage
-
To ask for a color, import the
getColor
function and run it:from vcolorpicker import getColor color = getColor()
Customization
-
Showing custom last color:
old_color = (255,255,255) picked_color = getColor(old_color)
-
Changing the UI Theme
from vcolorpicker import useLightTheme useLightTheme(True)
-
Adding Alpha selection
from vcolorpicker import useAlpha useAlpha(True)
When the ColorPicker uses Alpha, you have to pass a RGBA tuple
as the last color, otherwise there wil be an error.old_color = (255,255,255,100) picked_color = getColor(old_color) # => (r,g,b,a)
Color Formats and Conversion
-
The default format
getColor
will give you is RGB(A),
but you can use vcolorpickers color conversion functions
if you have a different format like HSV or HEX.hsv2rgb
HSV(A) to RGB(A)
rgb2hsv
RGB(A) to HSV(A)
rgb2hex
RGB(A) to HEX
hex2rgb
HEX to RGB
hex2hsv
HEX to HSV
hsv2hex
HSV(A) to HEX -
Example:
from vcolorpicker import getColor, hsv2rgb, rgb2hsv old_color = hsv2rgb((50,50,100,100)) # => (127,255,255,100) picked_color = rgb2hsv(getColor(old_color))
-
Color Formats:
RGB values range from 0 to 255
HSV values range from 0 to 100
HEX values should be in format:"XXXXXX"
or"xxxxxx"
Alpha values range from 0 to 100
Compatibility
This package is compatible with Python 3.7+ and above. It uses qtpy under the hood, so it should work with all Qt bindings (PyQt5, PySide2, PySide6, PyQt6).
Previous versions
In previous versions you had to create a ColorPicker object first and then
call it's getColor
method. This is still supported, you just have to
import the ColorPicker
class.
The color conversion functions are not methods anymore, you can import them
directly with from vcolorpicker import hsv2rgb, rgb2hsv
.
You also had to create a QApplication
object before being able to run the
ColorPicker, now it automatically creates one by itself if there isn't one yet.
If you need to get the auto-created application, you can use this:
from PyQt5.QtWidgets import QApplication
app = QApplication.instance()
Bugs and Improvement ideas
If you find a bug, you can open an issue or write me an email (nlfmt@gmx.de)
and I will try to get to it as fast as possible, or you can implement it
yourself and create a pull request.
License
This software is licensed under the MIT License.
More information is provided in the dedicated LICENSE file.