add range slider component

This commit is contained in:
2022-12-01 17:48:05 +01:00
parent 32c7da6ee5
commit e8f9e140fd
3 changed files with 176 additions and 12 deletions

View File

@@ -3,6 +3,8 @@ import re
from PySide6.QtGui import QColor, QPixmap, QIcon
from PySide6.QtWidgets import QWidget, QHBoxLayout, QPushButton, QColorDialog, QSizePolicy, QComboBox
from src.i18n import _
from src.util.color import to_qcolor
class ColorButton(QWidget):
def __init__(self, color: str, parent=None):
@@ -69,7 +71,7 @@ class ColorButton(QWidget):
self.color_drop_down.setCurrentIndex(self.color_drop_down.count() - 1)
def _update_color(self):
new_color = QColorDialog.getColor(self._to_qcolor(self.color))
new_color = QColorDialog.getColor(to_qcolor(self.color))
if new_color.isValid():
color = self._to_hex(new_color)
self.set_color(color)
@@ -80,20 +82,10 @@ class ColorButton(QWidget):
def _color_pixmap(self, color: str) -> QPixmap:
pixmap = QPixmap(40, 40)
qcolor = self._to_qcolor(color)
qcolor = to_qcolor(color)
pixmap.fill((qcolor))
return pixmap
def _to_qcolor(self, color: str):
if self._is_hex_color(color):
red = int(color[0:2], 16)
green = int(color[2:4], 16)
blue = int(color[4:6], 16)
return QColor(red, green, blue)
elif color in QColor().colorNames():
return QColor(color)
return QColor(255, 255, 255)
def _to_hex(self, color: QColor) -> str:
red = "{0:0{1}x}".format(color.red(), 2)
green = "{0:0{1}x}".format(color.green(), 2)