Pyqt4:在Qscintilla中使用标记号

时间:2014-04-14 12:26:18

标签: python pyqt4 margin marker qscintilla

我想知道为什么使用标记号以及1到31个标记号如何彼此不同。 以及如何添加自定义标记符号,例如渐变,Pix地图或图像等,例如给定图像中的这些蓝色闪光点。: - margin design pyqt4

标记在以下代码中定义: -

 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)

1 个答案:

答案 0 :(得分:1)

问题的答案"为什么使用标记号"简单地说:为什么不呢?必须使用某种标识符,而数字似乎是一个非常合理的选择。

具有预定义含义的唯一标记是数字25到31,它们用于折叠边距符号。数字0-24没有预定义,因此您可以以任何您喜欢的方式使用它们。事实上,如果你不使用折叠,你可以用你喜欢的任何方式使用所有32个标记。

您可以轻松地将像素图,图像甚至文本字符定义为用于标记的符号。做一些像:

    pixmap = QtGui.QPixmap('image.png')
    self.markerDefine(pixmap, self.CIRCLE_MARKER_NUM)

其他变种也以类似的方式运作。

PS:

通过查阅现有的优秀文档,您可以轻松回答问题中的所有要点(以及更多):