es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Sí, hay una manera de cambiar el color de la línea inferior en el delegado. Puedes modificar el método paint del delegado para dibujar una línea de color después de dibujar el texto. Aquí tienes un ejemplo de implementación:

    class AccountListDelegate(QtWidgets.QStyledItemDelegate):
        def displayText(self, value, locale):
            text = super().displayText(value, locale)
            separator = ":"
            values = text.split(separator)
            return f"{values[0]}\n{values[1]}"
    
        def paint(self, painter, option, index):
            painter.save()
            super().paint(painter, option, index)
            rect = option.rect
            bottom_line_rect = QtCore.QRect(rect.left(), rect.bottom() - 2, rect.width(), 2)
            painter.fillRect(bottom_line_rect, QtGui.QColor("#5f5f5f"))
            painter.restore()
    

    En esta implementación, el método paint primero llama a la implementación de la superclase para dibujar el texto como de costumbre. Luego crea un objeto QRect que representa el área de la línea inferior y la rellena con un color personalizado (en este caso, un gris oscuro). Por último, restaura el estado del objeto painter para evitar cualquier modificación adicional al elemento que se está pintando.

Comments are closed.