PYQT4: Uso de números de marcador en QScintilla
-
26-12-2019 - |
Pregunta
Quiero saber por qué se usa el número de marcador y cómo los números de marcador de 1 a 31 son diferentes entre sí.
Y cómo agregar un símbolo de marcador personalizado como con gradiente, mapa de pix o una imagen, etc., por ejemplo, estos puntos azules brillantes en la imagen dada. :-
marcador se define en el siguiente código: -
CIRCLE_MARKER_NUM = 0
......
def __init__(self, parent=None):
super(SimplePythonEditor, self).__init__(parent)
self.markerDefine(QsciScintilla.Circle,self.CIRCLE_MARKER_NUM)
self.setMarkerBackgroundColor(QColor(66, 66, 255),self.CIRCLE_MARKER_NUM)
......
def on_margin_clicked(self, nmargin, nline, modifiers):
# Toggle marker for the line the margin was clicked on
if self.markersAtLine(nline) != 0:
self.markerDelete(nline, self.CIRCLE_MARKER_NUM)
else:
self.markerAdd(nline, self.CIRCLE_MARKER_NUM)
Solución
La respuesta a la pregunta "¿Por qué se usa el número marcador" es simplemente: ¿Por qué no? Hay que usar algún tipo de identificador, y un número parece una opción perfectamente razonable.
Los únicos marcadores que tienen un significado predefinido son los números 25 a 31, que se utilizan para los símbolos de margen plegable. Los números 0-24 no tienen un significado predefinido, por lo que puede usarlos de alguna manera que le guste. Y, de hecho, si no usa el plegado, puede usar los 32 marcadores de alguna manera que le guste.
Puede definir fácilmente un PIXMAP, una imagen o incluso un carácter de texto como el símbolo para usar para un marcador. Solo haz algo como:
pixmap = QtGui.QPixmap('image.png')
self.markerDefine(pixmap, self.CIRCLE_MARKER_NUM)
y las otras variantes funcionan de una manera similar.
PS:
Podría haber respondido fácilmente todos los puntos (y más) en su pregunta consultando la excelente documentación disponible:
Otros consejos
Puede encontrar una muy buena explicación de los marcadores en este sitio web:
https://qscintilla.com/symbol-margin/
Aquí hay algunas capturas de pantalla: