Esempio n. 1
0
    def updateHSVPreview(self):
        # Parameter : h, s, v
        # h dari nilai hue yang dipilih, s dan v set ke max value (255)
        prevH = generateSolidColorPixmap(
            200, 300, QColor.fromHsv(self.selectedHue, 255, 255))
        self.previewH.setPixmap(QPixmap.fromImage(prevH))

        # h dari nilai hue yang dipilih, s dari nilai saturation yang dipilih
        # v set ke max value (255)
        prevS = generateSolidColorPixmap(
            200, 300, QColor.fromHsv(self.selectedHue, self.selectedSaturation, 255))
        self.previewS.setPixmap(QPixmap.fromImage(prevS))

        # h dari nilai hue yang dipilih, s dari nilai saturation yang dipilih
        # v dari nilai v yang dipilih
        prevV = generateSolidColorPixmap(
            200, 300, QColor.fromHsv(self.selectedHue, self.selectedSaturation, self.selectedValue))
        self.previewV.setPixmap(QPixmap.fromImage(prevV))

        # Check dropdown pilihan mode UPPER atau LOWER
        if self.cboxSetMode.currentText() == "UPPER":
            self.upperHSV = (self.selectedHue // 2,
                             self.selectedSaturation, self.selectedValue)
            self.lblUpper.setText(
                f"H {self.upperHSV[0]}; S {self.upperHSV[1]}; V {self.upperHSV[2]}")
        elif self.cboxSetMode.currentText() == "LOWER":
            self.lowerHSV = (self.selectedHue // 2,
                             self.selectedSaturation, self.selectedValue)
            self.lblLower.setText(
                f"H {self.lowerHSV[0]}; S {self.lowerHSV[1]}; V {self.lowerHSV[2]}")

        self.updateMask()
        self.updatePreviewHsvSpace()
Esempio n. 2
0
    def updateHSVPreview(self):
        prevH = generateSolidColorPixmap(
            200, 300, QColor.fromHsv(self.selectedHue, 255, 255))
        self.previewH.setPixmap(QPixmap.fromImage(prevH))

        prevS = generateSolidColorPixmap(
            200, 300, QColor.fromHsv(self.selectedHue, self.selectedSaturation, 255))
        self.previewS.setPixmap(QPixmap.fromImage(prevS))

        prevV = generateSolidColorPixmap(
            200, 300, QColor.fromHsv(self.selectedHue, self.selectedSaturation, self.selectedValue))
        self.previewV.setPixmap(QPixmap.fromImage(prevV))

        if self.cboxSetMode.currentText() == "UPPER":
            self.upperHSV = (self.selectedHue // 2,
                             self.selectedSaturation, self.selectedValue)
            self.lblUpper.setText(
                f"H {self.upperHSV[0]}; S {self.upperHSV[1]}; V {self.upperHSV[2]}")
        elif self.cboxSetMode.currentText() == "LOWER":
            self.lowerHSV = (self.selectedHue // 2,
                             self.selectedSaturation, self.selectedValue)
            self.lblLower.setText(
                f"H {self.lowerHSV[0]}; S {self.lowerHSV[1]}; V {self.lowerHSV[2]}")
        
        self.updateMask()
        self.updatePreviewHsvSpace()
Esempio n. 3
0
def percent_color(value):
    zero = QColor.fromHsv(111, 100, 190)
    one = QColor.fromHsv(5, 100, 190)

    if value <= 0:
        return zero
    if value >= 1:
        return one

    return QColor((1 - value) * zero.red() + value * one.red(),
                  (1 - value) * zero.green() + value * one.green(),
                  (1 - value) * zero.blue() + value * one.blue())
def _getSatResult(sat, bright) -> _SaturationResult:
    color_good = QColor.fromHsv(0, 0, 255)  # White
    color_bad = QColor.fromHsv(0, 0, 0)  # Black

    colorAtPosition: QColor = PROXIMITY_MAP.pixelColor(sat, bright)
    brightness = colorAtPosition.getHsvF()[
        2]  # Return 0.0, 0.5, 1.0 to represent bad, ok, good respectively
    isLow = _isInLowZone(sat, bright)  # Left or right of the curve

    if brightness < 0.2 and isLow: return _SaturationResult.low_limit_2
    if brightness < 0.8 and isLow: return _SaturationResult.low_limit_1
    if brightness < 0.2 and not isLow: return _SaturationResult.high_limit_2
    if brightness < 0.8 and not isLow: return _SaturationResult.high_limit_1
    return _SaturationResult.good
    def drawMandelbrot(self, qp):
        size = self.size()

        if pointsReady is True:

            numCols = size.width()
            numRows = size.height()

            colorIndex = 0
            for row in range(0, numRows):
                for col in range(0, numCols):

                    color = mymodule.arr[colorIndex]
                    colorIndex += 1

                    #The calculateMandelbrot will set color to -1 if the iterations are infinite else set the color based on iterations
                    if color != -1:
                        qp.setPen(QColor.fromHsv(color, 255, 255))
                    else:
                        qp.setPen(Qt.black)

                    #draw the point on the canvas
                    qp.drawPoint(col, row)
        else:
            #qp.setPen(Qt.gray)
            qp.fillRect(0, 0, size.width(), size.height(), Qt.gray)
Esempio n. 6
0
 def accent_from_hue(self, hue):
     h2 = hue * hue
     h3 = h2 * hue
     # polynomial approximation of how saturation and value are related to hue in Solarized
     saturation = 0.0000132 * h3 - 0.0068 * h2 + 0.7769 * hue + 77.188
     value = -7.07E-6 * h3 + 0.0042 * h2 - 0.6383 * hue + 88.615
     return QColor.fromHsv(hue, min(255, saturation * 2.55), min(255, value * 2.55))
Esempio n. 7
0
def build_matiere_groupe():
    groups = []
    for g in MATIERE_GROUPE_BASE:
        cop = {k: v for k, v in g.items()}  # if k != "bgColor"}
        cop["bgColor"] = QColor.fromHsv(*cop["bgColor"])
        groups.append(cop)

    return groups
Esempio n. 8
0
 def mapper(value):
     if value < lower:
         hue = lowerHue
     elif value > upper:
         hue = upperHue
     else:
         hue = ((value - lower) / diff) * diffHue + lowerHue
     return QColor.fromHsv(hue, 100, 255)
Esempio n. 9
0
 def paintPolygones(self, p: QPainter, x0, y0, r):
     n = 200
     for i in range(n):
         radius = r / (n + 250) * (i + 200)
         ang = 2 * pi / 100 * i
         x = x0 + cos(ang) * radius
         y = y0 + sin(ang) * radius
         color = QColor.fromHsv(i % 360, 255, 255)
         self.paintOnePolygon(p, x, y, -i / 50, color)
Esempio n. 10
0
    def getColor(key: CfgKey):
        propertiesService = PropertiesService()
        propertiesValue = propertiesService.find(key)

        if propertiesValue == None:
            colorCfgValue = cfgValue[key]
        else:
            colorCfgValue = propertiesValue

        colorCfgValueHsvParts = colorCfgValue.split(";")
        if len(colorCfgValueHsvParts) != 3:
            print("Die Properties mit dem Key '" + key._name_ +
                  "' hat das falsche Format!")
            return QColor.fromHsv(0, 0, 0)
        else:
            return QColor.fromHsv(int(colorCfgValueHsvParts[0]),
                                  int(colorCfgValueHsvParts[1]),
                                  int(colorCfgValueHsvParts[2]))
Esempio n. 11
0
    def apply_gamma_correction(image, gamma=0.5):
        copy = image.copy()
        for x in range(image.width()):
            for y in range(image.height()):
                color = image.pixelColor(x, y)
                h, s, v = color.hue(), color.saturation(), color.value()
                value = pow(v, gamma) * (255 / pow(255, gamma))
                copy.setPixelColor(x, y, QColor.fromHsv(h, s, value))

        return copy
Esempio n. 12
0
def get_color_by_group(groupe):
    matieres = {x["nom"]: x for x in MATIERES_BASE if x["groupe"] == groupe["id"]}
    bgColor = QColor.fromHsv(*groupe["bgColor"])
    ajout = (255 - bgColor.saturation()) / len(matieres)
    for v in matieres.values():
        v["bgColor"] = bgColor.toHsv()
        bgColor.setHsv(
            bgColor.hue(), bgColor.saturation() + round(ajout), bgColor.value()
        )
    return matieres
Esempio n. 13
0
 def color_for_tag(self, tag_name):
     assert isinstance(tag_name, str), 'tag_name must be an str'
     _counter = self._counter
     if _counter.get(tag_name, 0) > 1:
         # Это был бы лучший путь
         h = self._tags.index(tag_name)
         h = 10 * h
         return QColor.fromHsv(h, 70, 70)
         #Или этот:
         #return QColor.fromHsl(h, 39, 51)
         # c.setRgb(h, 28, 34)
     else:
         return self._white
Esempio n. 14
0
    def hsvUpdated(self):
        qclr = QColor.fromHsv(self.hSlider.value(), self.sSlider.value(),
                              self.vSlider.value())
        self.currentSelectedColor = qclr

        self.rBox.setValue(qclr.red())
        self.rSlider.setValue(qclr.red())
        self.gBox.setValue(qclr.green())
        self.gSlider.setValue(qclr.green())
        self.bBox.setValue(qclr.blue())
        self.bSlider.setValue(qclr.blue())

        self.setCurrentColor()
    def colorClusters(self, points):
        step = 400 / len(points) - 1
        for i in range(0, 400, int(step)):
            color = QColor.fromHsv(i, 255, 255)
            self.colors.append(color)

        for i, c in enumerate(points):
            for element in c:
                for item in self.points_canvas.scene.items():
                    if isinstance(item, EntityPoint.EntityPoint):
                        if element.id == item.id:
                            item.status = "normal"
                            item.setBrush(self.colors[i])
Esempio n. 16
0
 def paintEvent(self,e):
     painter = QPainter(self)
     #painter.setRenderHint(QPainter.Antialiasing, True)
     #painter.setPen(QPen(self.color, 6, Qt.SolidLine))
     #painter.setBrush(QBrush(Qt.green, Qt.SolidPattern))
     self.i+=1
     #print(self.i)
     for a in self.demet:
         c, self.x0,self.y0,self.x1,self.y1=a
         a0,a1,a2,a3=c
         color=QColor.fromHsv(a0,a1,a2,a3)
         painter.setPen(QPen(color, 5, Qt.SolidLine))
         painter.drawLine(self.x0,self.y0,self.x1,self.y1) #20, 40, 250, 40
Esempio n. 17
0
 def paintEvent(self, e):
     painter = QPainter(self)
     #painter.setRenderHint(QPainter.Antialiasing, True)
     #painter.setPen(QPen(self.color, 6, Qt.SolidLine))
     #painter.setBrush(QBrush(Qt.green, Qt.SolidPattern))
     self.i += 1
     #print(self.i)
     for a in self.demet:
         c, self.x0, self.y0, self.x1, self.y1 = a
         a0, a1, a2, a3 = c
         color = QColor.fromHsv(a0, a1, a2, a3)
         painter.setPen(QPen(color, 5, Qt.SolidLine))
         painter.drawLine(self.x0, self.y0, self.x1,
                          self.y1)  #20, 40, 250, 40
Esempio n. 18
0
    def _update_sliders(self, update_alpha_value=None):
        color = (self._primarySelectedColor
                 if self._activeColorIndex == ColorIndex.Primary
                 else self._secondarySelectedColor)

        # HUE
        self._hueSlider.value = color.hue()

        # SATURATION

        self._satSlider.start_color = QColor.fromHsv(color.hue(), 0, color.value())
        self._satSlider.end_color = QColor.fromHsv(color.hue(), 255, color.value())
        self._satSlider.value = color.saturation()

        # VALUE

        self._valSlider.end_color = QColor.fromHsv(color.hue(), color.saturation(), 255)
        self._valSlider.value = color.value()

        # RGB

        self._redSlider.value = color.red()
        self._greenSlider.value = color.green()
        self._blueSlider.value = color.blue()

        # ALPHA

        alpha_color = QColor(color)

        alpha_color.setAlpha(0)
        self._alphaSlider.start_color = alpha_color

        alpha_color.setAlpha(255)
        self._alphaSlider.end_color = alpha_color

        if update_alpha_value:
            self._alphaSlider.value = color.alpha()
Esempio n. 19
0
def generate_colors(n, seed=None):
    """Generate list of `n` colors"""

    colors = []
    if seed is None:
        h = random.random()
    else:
        h = seed

    golden_ratio = 0.618033988749895  # 1/phi
    for i in range(n):
        colors.append(QColor.fromHsv(h * 360, 150, 254, 255))
        h += golden_ratio
        h %= 1
    return colors
		def paintEvent(self, evt):
			"""Visualise update rects."""
			super().paintEvent(evt)
			
			p = QPainter(self)
			p.setClipRegion(evt.region())
			p.fillRect(
				0,0, 10000,10000,
				QColor.fromHsv(
					randrange(0,360),
					randrange(200,256),
					randrange(200,256),
					100
				)
			)
Esempio n. 21
0
    def _calculate_colors(self):

        for i in range(0, 16):
            self._hueArray[i] = abs((self._hue - self._hueShift * (i - 8)) % 360)
            shift = (8 - abs(i - 7)) * self._baseSat / 8

            new_sat = self._satArray[i] + shift
            new_val = self._valArray[i] + shift
            new_sat = max(0, min(255, new_sat))
            new_val = max(0, min(255, new_val))

            self._colArray[i] = (QColor.fromHsv(self._hueArray[i], new_sat, new_val))

        first_color = self._colArray[15]
        last_color = self._colArray[0]

        first_color.setHsv(0, 0, 0)
        last_color.setHsv(0, 0, 255)
Esempio n. 22
0
def interpolate_hsv(col1, col2, num_middle):
    """
    find colours in between the two and yield QColors including original colours
    expects QColors, returns QColors from col1 to col2
    expects alpha to always be 255
    """
    if num_middle < 0:
        raise ValueError

    assert col1.isValid()
    assert col2.isValid()

    start_h = col1.hsvHue() % 360
    start_s = col1.hsvSaturation() % 256
    start_v = col1.value() % 256

    delta_h = (col2.hsvHue() % 360) - start_h
    # https://stackoverflow.com/questions/2593832/
    # how-to-interpolate-hue-values-in-hsv-colour-space
    # Can be + or -, and magnitude can be > 180 or < 180
    if delta_h < -180:
        # Between -360 and -180
        # eg 10 - 300 = -290
        # we should go the other way around
        # eg 70
        delta_h = 360 + delta_h
    elif delta_h > 180:
        # delta h between 180 and 360, we should go the other way around
        delta_h = -360 + delta_h

    delta_s = (col2.hsvSaturation() % 256) - start_s
    delta_v = (col2.value() % 256) - start_v

    yield col1
    for i in range(1, num_middle + 1):
        frac = i / num_middle
        yield QColor.fromHsv(
            (start_h + delta_h * frac) % 360,
            (start_s + delta_s * frac) % 256,
            (start_v + delta_v * frac) % 256,
        )
    yield col2
Esempio n. 23
0
    def on_color_changed(self):
        """ Called when the selection color has changed. Replace every icon """
        color = self.iface.mapCanvas().selectionColor()
        color = QColor.fromHsv(color.hue(),
                               color.saturation() * 0.9,
                               color.value() * 0.95, color.alpha())
        for i in range(len(self.select_actions)):
            path = self.actions_settings[i].icon
            icon = create_icon(path, color)
            self.select_actions[i].setIcon(icon)

        icon = create_icon(":/plugins/multilayerselect/icons/deselectAll.svg",
                           color)
        self.deselect_all_action.setIcon(icon)

        icon = select_all_icon(color)
        self.select_all_action.setIcon(icon)

        icon = invert_selection_icon(color)
        self.invert_all_action.setIcon(icon)

        icon = expression_select_icon(color)
        self.select_by_expr_action.setIcon(icon)
Esempio n. 24
0
    def updateColor(self, color):
        """Sets the top right color of the panel."""
        color = QColor(color)
        color.setAlpha(255)

        self._color = color
        self._image = QImage(self.size(), QImage.Format_ARGB32)

        painter = SmoothPainter(self._image)

        # Render top right corner
        # Choose brightest, most saturated color for the given hue. Undefined hues (greys) should default to red hue.
        h = max(0, color.hsvHue())
        color_full = QColor.fromHsv(h, 255, 255)
        painter.fillRect(self.rect(), color_full)

        # Create vertical shading
        gradient = QLinearGradient(0, 0, self.width(), 0)
        gradient.setColorAt(0, Qt.white)
        gradient.setColorAt(1, QColor.fromHslF(0.055, 0.42, 0.65, 0))
        painter.fillRect(self.rect(), gradient)

        # Create horizontal shading
        gradient = QLinearGradient(0, self.height(), 0, 0)
        gradient.setColorAt(1, QColor.fromHslF(0.055, 0.42, 0.65, 0))
        gradient.setColorAt(0, Qt.black)
        painter.fillRect(self.rect(), gradient)

        self._createSkinToneIndicator(painter)
        painter.end()

        w, h = self.width(), self.height()
        _, s, v, _ = color.getHsvF()
        x, y = s * w, (1 - v) * h
        self._pointerPos = QPoint(x, y)
        self.update()
Esempio n. 25
0
 def initialItemColor(self):
     hue = ((len(self.shapeItems) + 1) * 85) % 256
     return QColor.fromHsv(hue, 255, 190)
Esempio n. 26
0
    def paintEvent(self, event):
        if self.fScene is None:
            QFrame.paintEvent(self, event)
            return

        painter = QPainter(self)
        painter.setRenderHint(QPainter.Antialiasing,
                              bool(options.antialiasing == ANTIALIASING_FULL))

        # Brightness-aware out-of-canvas shading
        bg_color = self.fViewBg
        bg_black = bg_color.black()
        bg_shade = -12 if bg_black < 127 else 12
        r, g, b, _ = bg_color.getRgb()
        bg_color = QColor(r + bg_shade, g + bg_shade, b + bg_shade)

        frameWidth = self.fFrameWidth
        if self.fUseCustomPaint:
            # Inner shadow
            color = QColor.fromHsv(40, 0,
                                   255 - max(210, bg_color.black(), bg_black))
            painter.setBrush(Qt.transparent)
            painter.setPen(color)
            painter.drawRect(
                QRectF(0.5, 0.5,
                       self.width() - 1,
                       self.height() - 1))

            # Background
            painter.setBrush(bg_color)
            painter.setPen(bg_color)
            painter.drawRect(
                QRectF(1.5, 1.5,
                       self.width() - 3,
                       self.height() - 3))
        else:
            use_rounding = int(frameWidth > 1)

            rounding = 0.5 * use_rounding
            painter.setBrush(bg_color)
            painter.setPen(bg_color)
            painter.drawRoundedRect(
                QRectF(0.5 + frameWidth, 0.5 + frameWidth,
                       self.width() - 1 - frameWidth * 2,
                       self.height() - 1 - frameWidth * 2), rounding, rounding)

            clipPath = QPainterPath()
            rounding = 1.0 * use_rounding
            clipPath.addRoundedRect(
                QRectF(frameWidth, frameWidth,
                       self.width() - frameWidth * 2,
                       self.height() - frameWidth * 2), rounding, rounding)
            painter.setClipPath(clipPath)

        self.fScene.render(painter, self.fRenderTarget, self.fRenderSource,
                           Qt.KeepAspectRatio)

        # Allow cursor frame to look joined with minicanvas frame
        painter.setClipping(False)

        width = self.fViewRect[self._kRectWidth] / self.fScale
        height = self.fViewRect[self._kRectHeight] / self.fScale

        # cursor
        lineHinting = self.fViewPen.widthF() / 2
        x = self.fViewRect[self._kRectX] + self.fInitialX
        y = self.fViewRect[self._kRectY] + self.fInitialY
        scr_x = floor(x)
        scr_y = floor(y)
        rect = QRectF(scr_x + lineHinting, scr_y + lineHinting,
                      ceil(width + x - scr_x) - lineHinting * 2,
                      ceil(height + y - scr_y) - lineHinting * 2)

        if self.fRubberBandBlending == self._RUBBERBAND_BLENDING_PLUS:
            painter.setCompositionMode(QPainter.CompositionMode_Plus)
        elif self.fRubberBandBlending == self._RUBBERBAND_BLENDING_DIFF:
            painter.setCompositionMode(QPainter.CompositionMode_Difference)

        painter.setBrush(self.fViewBrush)
        painter.setPen(Qt.NoPen)
        painter.drawRect(rect)

        painter.setCompositionMode(QPainter.CompositionMode_SourceOver)
        painter.setBrush(Qt.NoBrush)
        painter.setPen(self.fViewPen)
        painter.drawRect(rect)

        if self.fUseCustomPaint:
            event.accept()
        else:
            QFrame.paintEvent(self, event)
Esempio n. 27
0
 def setup1(self):
     self.colors = []
     for n in range(256):
         h = self.ntrp(n, 0, 256, 240, 60)
         cn = self.ntrp(n, 0, 256, 80, 255)
         self.colors.append(QColor.fromHsv(h, 255.0, cn))
Esempio n. 28
0
    def initTable(self):
        commonIDs = set()
        set1IDs = set()
        set2IDs = set()
        for a in self.set1:
            set1IDs.add(a[0])

        for a in self.set2:
            set2IDs.add(a[0])

        commonIDs = set1IDs.intersection(set2IDs)
        commonRows = list()
        listSet2 = list(self.set2)
        for a in self.sorted_nicely(commonIDs):
            for b in listSet2:
                if a == b[0]:
                    commonRows.append(b)

        # see dependent vector
        dependentVectors = dict()
        for a in commonRows:
            for b in commonRows:
                try:
                    if self.is_number(a[1]) and self.is_number(
                            b[1]) and self.is_number(a[2]) and self.is_number(
                                b[2]) and self.is_number(
                                    a[3]) and self.is_number(b[3]):
                        kx = float(a[1]) / float(b[1])
                        ky = float(a[2]) / float(b[2])
                        kz = float(a[3]) / float(b[3])
                        if kx == ky and kx == kz and a != b:
                            randColor = QColor.fromHsv(qrand() % 256, 230, 220)
                            dependentVectors[a[0]] = randColor
                            dependentVectors[b[0]] = randColor
                except ZeroDivisionError:
                    xxx = 0
                    #print("division by zero")
        self.ui.tableWidgetZachytne.setRowCount(len(commonIDs))
        self.ui.tableWidgetZachytne.setColumnCount(3)
        rowIDs = list()
        colIDs = list(["X", "Y", "Z"])
        self.ui.tableWidgetZachytne.setHorizontalHeaderLabels(colIDs)
        self.ui.tableWidgetZachytne.setSelectionBehavior(
            QTableWidget.SelectRows)
        row = 0
        for curRow in commonRows:

            xItem = QTableWidgetItem(curRow[1])
            yItem = QTableWidgetItem(curRow[2])
            zItem = QTableWidgetItem(curRow[3])

            # if dependent : rows will be filled with same color
            if curRow[0] in dependentVectors:
                xItem.setBackground(dependentVectors[curRow[0]])
                yItem.setBackground(dependentVectors[curRow[0]])
                zItem.setBackground(dependentVectors[curRow[0]])
            # bg color with red if not a number
            if not self.is_number(curRow[1]):
                xItem.setBackground(Qt.red)
            # bg color with red if not a number
            if not self.is_number(curRow[2]):
                yItem.setBackground(Qt.red)
            # bg color with red if not a number
            if not self.is_number(curRow[3]):
                zItem.setBackground(Qt.red)

            self.ui.tableWidgetZachytne.setItem(row, 0, xItem)
            self.ui.tableWidgetZachytne.setItem(row, 1, yItem)
            self.ui.tableWidgetZachytne.setItem(row, 2, zItem)
            rowIDs.append(str(curRow[0]))
            row = row + 1

        self.ui.tableWidgetZachytne.setVerticalHeaderLabels(rowIDs)
        self.row2ID = rowIDs
Esempio n. 29
0
    QToolTip,
    QStatusBar,
)


def limit_to_255(value: float) -> int:
    return 255 if value > 255 else 0 if value < 0 else int(value)


_isMacHost = True
BASE_COLOR = QColor("#666666")
SIDEBAR_FONT_SIZE = (10 if _isMacHost else 7.5) * 1.2
MODEBAR_ICON_SIZE = 64
TOOLBAR_ICON_SHADOW = True
FLAT_STYLE = False
HIGHLIGHT_COLOR = QColor.fromHsv(BASE_COLOR.hue(), BASE_COLOR.saturation(),
                                 limit_to_255(BASE_COLOR.value() * 1.16))
SHADOW_COLOR = QColor.fromHsv(BASE_COLOR.hue(),
                              limit_to_255(BASE_COLOR.saturation() * 1.1),
                              limit_to_255(BASE_COLOR.value() * 0.70))
BORDER_COLOR = QColor.fromHsv(BASE_COLOR.hue(), BASE_COLOR.saturation(),
                              limit_to_255(BASE_COLOR.value() / 2))
FancyToolButtonSelectedColor = QColor("#32000000")
FancyToolButtonHoverColor = QColor("#28ffffff")
FancyTabWidgetDisabledSelectedTextColor = QColor("#ffffffff")
FancyTabWidgetDisabledUnselectedTextColor = QColor("#78ffffff")
FancyTabWidgetEnabledSelectedTextColor = QColor("#ffcccccc")
FancyTabWidgetEnabledUnselectedTextColor = QColor("#ffffffff")


def disabledSideBarIcon(enabledicon: QPixmap) -> QPixmap:
    im = enabledicon.toImage().convertToFormat(QImage.Format_ARGB32)
Esempio n. 30
0
def hsvToQColor(hsv):
    return QColor.fromHsv(hsv[0], hsvToQColor[1], hsvToQColor[2])
Esempio n. 31
0
 def randomItemColor(self):
     return QColor.fromHsv(random.randint(0, 256), 255, 190)
Esempio n. 32
0
 def initialItemColor(self):
     hue = ((len(self.shapeItems) + 1) * 85) % 256
     return QColor.fromHsv(hue, 255, 190)
Esempio n. 33
0
 def randomItemColor(self):
     return QColor.fromHsv(random.randint(0, 256), 255, 190)
Esempio n. 34
0
class MarkItemBrowser(QtTreePropertyBrowser):
    my_list = [
        '耕地', '园地', '林地', '草地', '居民点及工矿', '交通用地', '水域及水利设施用地', '未利用地', '其他土地'
    ]
    my_list_0 = ['水田', '水浇地', '旱地']
    my_list_1 = ['果园', '茶园', '其他园地']
    my_list_2 = ['林地', '灌木林地', '疏林地', '幼林地', '其他林地']
    my_list_3 = ['高覆盖草地', '中高覆盖草地', '中覆盖草地', '中低覆盖草地', '低覆盖草地']
    my_list_4 = ['城镇居民点', '农村居民点', '独立工矿用地', '商服及公共用地', '特殊用地']
    my_list_5 = []
    my_list_6 = []
    my_list_7 = []
    my_list_8 = ['盐碱地', '沙地', '沼泽地', '裸岩', '裸土']
    my_list_0_0 = []
    my_list_0_1 = []
    my_list_0_2 = ['梯坪地', '坡耕地']
    my_list_1_0 = []
    my_list_1_1 = []
    my_list_1_2 = []
    my_list_2_0 = []
    my_list_2_1 = []
    my_list_2_2 = []
    my_list_2_3 = []
    my_list_2_4 = []
    my_list_3_0 = []
    my_list_3_1 = []
    my_list_3_2 = []
    my_list_3_3 = []
    my_list_3_4 = []
    my_list_4_0 = []
    my_list_4_1 = []
    my_list_4_2 = []
    my_list_4_3 = []
    my_list_4_4 = []
    my_list_8_0 = []
    my_list_8_1 = []
    my_list_8_2 = []
    my_list_8_3 = []
    my_list_8_4 = []
    remarks_3_0 = '覆盖度大于75%'
    remarks_3_1 = '覆盖度60%~75%'
    remarks_3_2 = '覆盖度45%~60%'
    remarks_3_3 = '覆盖度30%~45%'
    remarks_3_4 = '覆盖度小于30%'
    remarks_7 = '荒地'
    operate = ['无', '添加人员']
    my_list_list = (my_list_0, my_list_1, my_list_2, my_list_3, my_list_4,
                    my_list_5, my_list_6, my_list_7, my_list_8)
    color_qss = QColor()
    color_dictionary = {
        my_list_0[0]: QColor.fromHsv(0, 255, 255),
        my_list_0[1]: QColor.fromHsv(12, 255, 255),
        my_list_0_2[0]: QColor.fromHsv(24, 255, 255),
        my_list_0_2[1]: QColor.fromHsv(36, 255, 255),
        my_list_1[0]: QColor.fromHsv(48, 255, 255),
        my_list_1[1]: QColor.fromHsv(60, 255, 255),
        my_list_1[2]: QColor.fromHsv(72, 255, 255),
        my_list_2[0]: QColor.fromHsv(84, 255, 255),
        my_list_2[1]: QColor.fromHsv(96, 255, 255),
        my_list_2[2]: QColor.fromHsv(108, 255, 255),
        my_list_2[3]: QColor.fromHsv(120, 255, 255),
        my_list_2[4]: QColor.fromHsv(132, 255, 255),
        my_list_3[0]: QColor.fromHsv(144, 255, 255),
        my_list_3[1]: QColor.fromHsv(156, 255, 255),
        my_list_3[2]: QColor.fromHsv(168, 255, 255),
        my_list_3[3]: QColor.fromHsv(180, 255, 255),
        my_list_3[4]: QColor.fromHsv(192, 255, 255),
        my_list_4[0]: QColor.fromHsv(204, 255, 255),
        my_list_4[1]: QColor.fromHsv(216, 255, 255),
        my_list_4[2]: QColor.fromHsv(228, 255, 255),
        my_list_4[3]: QColor.fromHsv(240, 255, 255),
        my_list_4[4]: QColor.fromHsv(252, 255, 255),
        my_list[5]: QColor.fromHsv(264, 255, 255),
        my_list[6]: QColor.fromHsv(276, 255, 255),
        my_list[7]: QColor.fromHsv(288, 255, 255),
        my_list_8[0]: QColor.fromHsv(300, 255, 255),
        my_list_8[1]: QColor.fromHsv(312, 255, 255),
        my_list_8[2]: QColor.fromHsv(324, 255, 255),
        my_list_8[3]: QColor.fromHsv(336, 255, 255),
        my_list_8[4]: QColor.fromHsv(348, 255, 255)
    }

    def __init__(self, mark_item, parent=None):
        QtTreePropertyBrowser.__init__(self, parent)

        self.__mark_item = mark_item

        self.mark_name_manager = QtStringPropertyManager(self)
        self.project_name = self.mark_name_manager.addProperty('项目名称')

        self.person_name_group_manager = QtGroupPropertyManager(self)
        self.person_name_group = self.person_name_group_manager.addProperty(
            '项目标注人')
        self.person_name_manager = QtStringPropertyManager(self)
        self.person_name_add_manager = QtEnumPropertyManager(self)
        self.person_name_add = self.person_name_add_manager.addProperty('操作')

        self.date_manager = QtDatePropertyManager(self)
        self.my_date = self.date_manager.addProperty('标注时间')

        self.enum_manager = QtEnumPropertyManager(self)
        self.type = self.enum_manager.addProperty('地物类型')

        self.enum_manager1 = QtEnumPropertyManager(self)
        self.type_1 = self.enum_manager1.addProperty('一级类名称')

        self.enum_manager2 = QtEnumPropertyManager(self)
        self.type_2 = self.enum_manager2.addProperty('二级类名称')

        self.enum_manager3 = QtEnumPropertyManager(self)
        self.type_3 = self.enum_manager3.addProperty('三级类名称')
        self.enum_manager3.valueChangedSignal.connect(self.mark_type_changed)

        self.manager = QtStringPropertyManager(self)
        self.marks_widget = self.manager.addProperty('备注')

        self.color_test_manager = CustomColorPropertyManager(self)
        self.color_test = self.color_test_manager.addProperty('标注颜色')

        self.visibility_manager = QtBoolPropertyManager(self)
        self.visibility = self.visibility_manager.addProperty('可见性')
        self.visibility_manager.valueChangedSignal.connect(
            self.visible_changed)

        self.lockablility_manager = QtBoolPropertyManager(self)
        self.lockablility = self.lockablility_manager.addProperty('锁定')
        self.lockablility_manager.valueChangedSignal.connect(
            self.locked_changed)

        self.fill_manager = QtBoolPropertyManager(self)
        self.fill = self.fill_manager.addProperty('填充')
        self.fill_manager.valueChangedSignal.connect(self.fill_changed)
        self.fill_manager.setValue(self.fill, self.__mark_item.fill)

        self.clarity_manager = QtBoolPropertyManager(self)
        self.clarity = self.clarity_manager.addProperty('透明')
        self.clarity_manager.valueChangedSignal.connect(self.clarity_changed)
        self.clarity_manager.setValue(self.clarity, self.__mark_item.clarity)

        self.__create_project_name(self.__mark_item.item_name)
        self.__create_person_name(self.__mark_item.get_person_names())
        # self.__create_date(self.__mark_item.date)
        self.__create_type(self.__mark_item.mark_type)
        self.__create_visibility(self.__mark_item.visible)
        self.__create_lockability(self.__mark_item.locked)
        self.__create_property_browser(self)

    def qss_setting(self, Qcolor: QColor):
        color_rgb = Qcolor.getRgb()
        color_r = color_rgb[0]
        color_g = color_rgb[1]
        color_b = color_rgb[2]
        string = 'QComboBox{color:rgb(' + str(color_r) + ',' + str(
            color_g) + ',' + str(color_b) + ');}'
        print(string)
        self.setStyleSheet(string)

    # def color_changed(self, item, color: QColor):
    #     self.__mark_item.color = self.color_qss

    def __create_project_name(self, data_project_name):
        self.mark_name_manager.setValue(self.project_name, data_project_name)
        self.mark_name_manager.editor_finished_signal.connect(
            self.mark_item_name_changed)
        self.__mark_item.mark_item_name_changed.connect(
            lambda _, new_name: self.mark_name_manager.setValue(
                self.project_name, new_name))

    def __create_person_name(self, data_person_name):
        for i in data_person_name:
            self.person_name = self.person_name_manager.addProperty('标注人员')
            self.person_name_manager.setValue(self.person_name, i)
            self.person_name_group.addSubProperty(self.person_name)

        operate = QList(self.operate)
        self.person_name_add_manager.setEnumNames(self.person_name_add,
                                                  operate)
        self.person_name_add_manager.setValue(self.person_name_add, 0)

        self.person_name_add_manager.valueChangedSignal.connect(
            self.__function_person_name_add)

        self.person_name_group.addSubProperty(self.person_name_add)
        self.person_name_manager.editor_finished_signal.connect(
            self.__person_name_changed)

    def __create_date(self, data_date):
        self.date_manager.setValue(self.my_date, data_date)

    def __create_type(self, data_type):
        types = QList(self.my_list)
        self.enum_manager.setEnumNames(self.type, types)
        self.enum_manager.setValue(self.type, data_type[0])
        self.enum_manager.valueChangedSignal.connect(self.__enum_changed)

        types_1 = QList(self.my_list)
        self.enum_manager1.setEnumNames(self.type_1, types_1)
        self.enum_manager1.setValue(self.type_1, data_type[0])
        self.type.addSubProperty(self.type_1)
        self.enum_manager1.valueChangedSignal.connect(self.__enum_changed)

        types_2 = QList(self.my_list_0)
        self.enum_manager2.setEnumNames(self.type_2, types_2)
        self.enum_manager2.setValue(self.type_2, data_type[1])
        self.type.addSubProperty(self.type_2)
        self.enum_manager2.valueChangedSignal.connect(self.__enum_changed_2)

        types_3 = QList(self.my_list_1_0)
        self.enum_manager3.setEnumNames(self.type_3, types_3)
        self.enum_manager3.setValue(self.type_3, data_type[2])
        self.type.addSubProperty(self.type_3)
        self.enum_manager3.valueChangedSignal.connect(self.__enum_changed_3)

        if len(data_type) > 3:
            self.manager.setValue(self.marks_widget, data_type[3])
            self.type.addSubProperty(self.marks_widget)

        self.color_test_manager.setValue(self.color_test,
                                         self.__mark_item.color)
        self.type.addSubProperty(self.color_test)

    def __create_visibility(self, visibility):
        self.visibility_manager.setValue(self.visibility, visibility)

    def __create_lockability(self, lockability):
        self.lockablility_manager.setValue(self.lockablility, lockability)

    def __create_property_browser(self, browser: QtTreePropertyBrowser):
        enum_fictory = QtEnumEditorFactory()
        string_fictory = QtLineEditFactory()
        bool_fictory = QtCheckBoxFactory()
        color_test_fictory = CustomColorEditorFactory()

        browser.setFactoryForManager(self.mark_name_manager, string_fictory)
        browser.setFactoryForManager(self.person_name_manager, string_fictory)
        browser.setFactoryForManager(self.person_name_add_manager,
                                     enum_fictory)
        browser.setFactoryForManager(self.enum_manager, enum_fictory)
        browser.setFactoryForManager(self.enum_manager1, enum_fictory)
        browser.setFactoryForManager(self.enum_manager2, enum_fictory)
        browser.setFactoryForManager(self.enum_manager3, enum_fictory)
        browser.setFactoryForManager(self.color_test_manager,
                                     color_test_fictory)
        browser.setFactoryForManager(self.visibility_manager, bool_fictory)
        browser.setFactoryForManager(self.lockablility_manager, bool_fictory)
        browser.setFactoryForManager(self.fill_manager, bool_fictory)
        browser.setFactoryForManager(self.clarity_manager, bool_fictory)

        browser.addProperty(self.project_name)
        browser.addProperty(self.person_name_group)
        browser.addProperty(self.my_date)
        browser.addProperty(self.type)
        browser.addProperty(self.visibility)
        browser.addProperty(self.lockablility)
        browser.addProperty(self.fill)
        browser.addProperty(self.clarity)

    def mark_item_name_changed(self, _property, value):
        self.__mark_item.item_name = value

    def __enum_changed(self, item, value):
        if item == self.type:
            self.enum_manager1.setValue(self.type_1, value)
        else:
            self.enum_manager.setValue(self.type, value)

        if value == 0:
            self.enum_manager2.setEnumNames(self.type_2, QList(self.my_list_0))
            self.enum_manager2.setValue(self.type_2, 0)
            self.enum_manager3.setEnumNames(self.type_3,
                                            QList(self.my_list_0_0))
            self.enum_manager3.setValue(self.type_3, 0)
            self.manager.setObjectName('')
            self.manager.setValue(self.marks_widget, '')
        elif value == 1:
            self.enum_manager2.setEnumNames(self.type_2, QList(self.my_list_1))
            self.enum_manager2.setValue(self.type_2, 0)
            self.enum_manager3.setEnumNames(self.type_3,
                                            QList(self.my_list_1_0))
            self.enum_manager3.setValue(self.type_3, 0)
            self.manager.setObjectName('')
            self.manager.setValue(self.marks_widget, '')
        elif value == 2:
            self.enum_manager2.setEnumNames(self.type_2, QList(self.my_list_2))
            self.enum_manager2.setValue(self.type_2, 0)
            self.enum_manager3.setEnumNames(self.type_3,
                                            QList(self.my_list_2_0))
            self.enum_manager3.setValue(self.type_3, 0)
            self.manager.setObjectName('')
            self.manager.setValue(self.marks_widget, '')
        elif value == 3:
            self.enum_manager2.setEnumNames(self.type_2, QList(self.my_list_3))
            self.enum_manager2.setValue(self.type_2, 0)
            self.enum_manager3.setEnumNames(self.type_3,
                                            QList(self.my_list_3_0))
            self.enum_manager3.setValue(self.type_3, 0)
            self.manager.setObjectName('')
            self.manager.setValue(self.marks_widget, self.remarks_3_0)
        elif value == 4:
            self.enum_manager2.setEnumNames(self.type_2, QList(self.my_list_4))
            self.enum_manager2.setValue(self.type_2, 0)
            self.enum_manager3.setEnumNames(self.type_3,
                                            QList(self.my_list_4_0))
            self.enum_manager3.setValue(self.type_3, 0)
            self.manager.setObjectName('')
            self.manager.setValue(self.marks_widget, '')
        elif value == 5:
            self.enum_manager2.setEnumNames(self.type_2, QList(self.my_list_5))
            self.enum_manager2.setValue(self.type_2, 0)
            self.enum_manager3.setEnumNames(self.type_3, QList([]))
            self.enum_manager3.setValue(self.type_3, 0)
            self.manager.setObjectName('')
            self.manager.setValue(self.marks_widget, '')
            self.color_qss = self.color_dictionary[self.my_list[5]]
            self.color_test_manager.setValue(self.color_test, self.color_qss)
        elif value == 6:
            self.enum_manager2.setEnumNames(self.type_2, QList(self.my_list_6))
            self.enum_manager2.setValue(self.type_2, 0)
            self.enum_manager3.setEnumNames(self.type_3, QList([]))
            self.enum_manager3.setValue(self.type_3, 0)
            self.manager.setObjectName('')
            self.manager.setValue(self.marks_widget, '')
            self.color_qss = self.color_dictionary[self.my_list[6]]
            self.color_test_manager.setValue(self.color_test, self.color_qss)
        elif value == 7:
            self.enum_manager2.setEnumNames(self.type_2, QList(self.my_list_7))
            self.enum_manager2.setValue(self.type_2, 0)
            self.enum_manager3.setEnumNames(self.type_3, QList([]))
            self.enum_manager3.setValue(self.type_3, 0)
            self.manager.setObjectName('')
            self.manager.setValue(self.marks_widget, self.remarks_7)
            self.color_qss = self.color_dictionary[self.my_list[7]]
            self.color_test_manager.setValue(self.color_test, self.color_qss)
        elif value == 8:
            self.enum_manager2.setEnumNames(self.type_2, QList(self.my_list_8))
            self.enum_manager2.setValue(self.type_2, 0)
            self.enum_manager3.setEnumNames(self.type_3,
                                            QList(self.my_list_8_0))
            self.enum_manager3.setValue(self.type_3, 0)
            self.manager.setObjectName('')
            self.manager.setValue(self.marks_widget, '')

        self.mark_type_changed()

    def __enum_changed_2(self, item, value):
        now = self.enum_manager1.value(self.type_1)
        print(now)
        print(value)
        if now == 0:
            if value == 0:
                self.enum_manager3.setEnumNames(self.type_3, QList([]))
                self.enum_manager3.setValue(self.type_3, 0)
                self.color_qss = self.color_dictionary[self.my_list_0[0]]
                self.color_test_manager.setValue(self.color_test,
                                                 self.color_qss)
            elif value == 1:
                self.enum_manager3.setEnumNames(self.type_3, QList([]))
                self.enum_manager3.setValue(self.type_3, 0)
                self.color_qss = self.color_dictionary[self.my_list_0[1]]
                self.color_test_manager.setValue(self.color_test,
                                                 self.color_qss)
            elif value == 2:
                self.enum_manager3.setEnumNames(self.type_3,
                                                QList(self.my_list_0_2))
                self.enum_manager3.setValue(self.type_3, 0)
        elif now == 3:
            if value == 0:
                self.manager.setValue(self.marks_widget, self.remarks_3_0)
                self.color_qss = self.color_dictionary[self.my_list_3[0]]
                self.color_test_manager.setValue(self.color_test,
                                                 self.color_qss)
            elif value == 1:
                self.manager.setValue(self.marks_widget, self.remarks_3_1)
                self.color_qss = self.color_dictionary[self.my_list_3[1]]
                self.color_test_manager.setValue(self.color_test,
                                                 self.color_qss)
            elif value == 2:
                self.manager.setValue(self.marks_widget, self.remarks_3_2)
                self.color_qss = self.color_dictionary[self.my_list_3[2]]
                self.color_test_manager.setValue(self.color_test,
                                                 self.color_qss)
            elif value == 3:
                self.manager.setValue(self.marks_widget, self.remarks_3_3)
                self.color_qss = self.color_dictionary[self.my_list_3[3]]
                self.color_test_manager.setValue(self.color_test,
                                                 self.color_qss)
            elif value == 4:
                self.manager.setValue(self.marks_widget, self.remarks_3_4)
                self.color_qss = self.color_dictionary[self.my_list_3[4]]
                self.color_test_manager.setValue(self.color_test,
                                                 self.color_qss)
        elif now == 5 or now == 6 or now == 7:
            pass
        else:
            self.enum_manager3.setEnumNames(self.type_3, QList([]))
            self.enum_manager3.setValue(self.type_3, 0)
            linshi = self.my_list_list[now]
            self.color_qss = self.color_dictionary[linshi[value]]
            self.color_test_manager.setValue(self.color_test, self.color_qss)

        self.mark_type_changed()

    def __enum_changed_3(self, item, value):
        type1 = self.enum_manager1.value(self.type_1)
        type2 = self.enum_manager2.value(self.type_2)
        self.color_qss = self.color_dictionary[self.my_list_0_2[value]]
        self.color_test_manager.setValue(self.color_test, self.color_qss)
        self.mark_type_changed()

    def visible_changed(self, item, value):
        self.__mark_item.visible = value

    def locked_changed(self, item, value):
        self.__mark_item.locked = value

    def fill_changed(self, item, value):
        self.__mark_item.fill = value

    def clarity_changed(self, item, value):
        self.__mark_item.clarity = value

    def mark_type_changed(self):

        make_type = [
            self.enum_manager.value(self.type),
            self.enum_manager2.value(self.type_2),
            self.enum_manager3.value(self.type_3),
            self.manager.value(self.marks_widget)
        ]
        self.__mark_item.set_mark_type(tuple(make_type))
        self.__mark_item.color = self.color_qss

    def __person_name_changed(self, item: QtProperty, value):

        if item.hasValue() and len(value) > 0:
            return
        else:
            self.person_name_group.removeSubProperty(item)

    def __function_person_name_add(self, item, value):
        if value == 1:
            self.person_name_group.removeSubProperty(self.person_name_add)

            self.person_name = self.person_name_manager.addProperty('标注人员')
            self.person_name_manager.setObjectName('')
            self.person_name_manager.setValue(self.person_name, '')
            self.person_name_group.addSubProperty(self.person_name)

            self.person_name_add_manager.setValue(self.person_name_add, 0)
            self.person_name_group.addSubProperty(self.person_name_add)

    @property
    def item_name(self):
        project_name = self.mark_name_manager.value(self.project_name)
        return project_name

    @property
    def person_names(self):
        person_name_group = self.person_name_group.subProperties()
        person_name = []
        for i in person_name_group:
            person_name.append(self.person_name_manager.value(i))
        return person_name

    @property
    def date(self):
        date = QDate.currentDate()
        return date

    @property
    def item_color(self):
        color = self.color_manager.value(self.color)
        return color

    @property
    def mark_type(self):
        type = []
        type_1 = self.enum_manager1.value(self.type_1)
        type.append(type_1)
        type_2 = self.enum_manager2.value(self.type_2)
        type.append(type_2)
        type_3 = self.enum_manager3.value(self.type_3)
        type.append(type_3)
        remarks = self.manager.value(self.marks_widget)
        type.append(remarks)
        return type

    @property
    def visible(self):
        return self.visibility

    @property
    def locked(self):
        return self.lockablility

    def list_detection_1(self, now):
        string = 'self.my_list_' + str(now)
        return string

    def list_detection_2(self, now, value):
        string = 'self.my_list_' + str(now) + '_' + str(value)
        return string
Esempio n. 35
0
def hsvToQColor(hsv) :
    return QColor.fromHsv(hsv[0], hsvToQColor[1], hsvToQColor[2])
    def initTable(self):
        commonIDs = set()
        set1IDs = set()
        set2IDs = set()
        for a in self.set1:
            set1IDs.add(a[0])

        for a in self.set2:
            set2IDs.add(a[0])

        commonIDs = set1IDs.intersection(set2IDs)
        commonRows = list()
        listSet2 = list(self.set2)
        for a in self.sorted_nicely( commonIDs ):
            for b in listSet2:
                if a == b[0]:
                    commonRows.append(b)

        # see dependent vector
        dependentVectors = dict()
        for a in commonRows:
            for b in commonRows:
                try:
                    if self.is_number(a[1]) and self.is_number(b[1]) and self.is_number(a[2]) and self.is_number(b[2]) and self.is_number(a[3]) and self.is_number(b[3]): 
                        kx = float(a[1]) / float(b[1])
                        ky = float(a[2]) / float(b[2])
                        kz = float(a[3]) / float(b[3])
                        if kx == ky and kx == kz and a != b:
                            randColor = QColor.fromHsv(qrand() % 256, 230, 220)
                            dependentVectors[a[0]]=randColor
                            dependentVectors[b[0]]=randColor
                except ZeroDivisionError:
                    xxx = 0
                    #print("division by zero")
        self.ui.tableWidgetZachytne.setRowCount(len(commonIDs))
        self.ui.tableWidgetZachytne.setColumnCount(3)
        rowIDs = list()
        colIDs = list(["X","Y","Z"])
        self.ui.tableWidgetZachytne.setHorizontalHeaderLabels(colIDs)
        self.ui.tableWidgetZachytne.setSelectionBehavior(QTableWidget.SelectRows)
        row = 0
        for curRow in commonRows:

            xItem = QTableWidgetItem(curRow[1])
            yItem = QTableWidgetItem(curRow[2])
            zItem = QTableWidgetItem(curRow[3])
            
            # if dependent : rows will be filled with same color
            if curRow[0] in dependentVectors:
                xItem.setBackground(dependentVectors[curRow[0]])
                yItem.setBackground(dependentVectors[curRow[0]])
                zItem.setBackground(dependentVectors[curRow[0]])
            # bg color with red if not a number
            if not self.is_number(curRow[1]):
                xItem.setBackground(Qt.red)
            # bg color with red if not a number
            if not self.is_number(curRow[2]):
                yItem.setBackground(Qt.red)
            # bg color with red if not a number
            if not self.is_number(curRow[3]):
                zItem.setBackground(Qt.red)

            self.ui.tableWidgetZachytne.setItem(row, 0, xItem)
            self.ui.tableWidgetZachytne.setItem(row, 1, yItem)
            self.ui.tableWidgetZachytne.setItem(row, 2, zItem)
            rowIDs.append(str(curRow[0]))
            row=row+1
            
        self.ui.tableWidgetZachytne.setVerticalHeaderLabels(rowIDs)
        self.row2ID = rowIDs