【问题标题】:Pyqt4: how to add Margins in Qscintilla properlyPyqt4:如何在 Qscintilla 中正确添加边距
【发布时间】:2014-05-27 11:07:29
【问题描述】:

我想让我的边距看起来像这样:-

到目前为止,我一直是这样的:-

使用以下代码:-

self.setMarginType(1,Qsci.QsciScintilla.NumberMargin)
self.setMarginWidth(1,40)
self.setMarginsForegroundColor(QtGui.QColor(120, 128, 120))
self.setMarginLineNumbers(1,True)

请告知这段代码有什么错误,应该添加什么代码来显示标记或包含标记的边距(如数字右侧的蓝点。)

【问题讨论】:

    标签: python pyqt4 margin qscintilla


    【解决方案1】:

    您应该在使用之前定义标记样式。 这是代码:

    class SimplePythonEditor(QsciScintilla):
        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)
    

    更多细节可以修改eli的demo。 eli's qscintilla demo

    【讨论】:

    • 你能告诉我为什么使用标记号以及从 1 到 31 的标记号有何不同
    • 以及如何添加自定义标记符号,如渐变、像素图或图像等。
    猜你喜欢
    • 2013-02-16
    • 1970-01-01
    • 2014-05-28
    • 2019-06-14
    • 2014-06-06
    • 2013-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多