【问题标题】:Pyqt4: Use of Marker Numbers in QscintillaPyqt4:在 Qscintilla 中使用标记号
【发布时间】:2014-05-28 09:51:13
【问题描述】:

我想知道为什么要使用标记号,以及 1 到 31 个标记号之间有何不同。 以及如何添加自定义标记符号,如渐变、像素图或图像等,例如给定图像中的这些蓝色闪光点。:-

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

 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)

【问题讨论】:

    标签: python pyqt4 margin marker qscintilla


    【解决方案1】:

    “为什么使用标记号”这个问题的答案很简单:为什么不呢?必须使用某种标识符,而数字似乎是一个完全合理的选择。

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

    您可以轻松地将像素图、图像甚至文本字符定义为用于标记的符号。只需执行以下操作:

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

    其他变体也以类似的方式工作。

    PS:

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

    【讨论】:

    • 官方 (Q)Scintilla 文档适合有经验的用户,但不适合初学者。该文档缺少介绍性教程。看起来大多数文档都是自动生成的。请查看这个带有初学者教程的新网站:qscintilla.com
    【解决方案2】:

    你可以在这个网站上找到一个很好的标记解释:

    https://qscintilla.com/symbol-margin/

    以下是一些截图:

    【讨论】:

      猜你喜欢
      • 2013-02-16
      • 2014-05-27
      • 2014-06-04
      • 2017-02-06
      • 1970-01-01
      • 2019-09-08
      • 2016-12-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多