[PyQt] QtScintilla2 and fonts
    kib2 
    kib2 at free.fr
       
    Sat Jun 30 18:04:49 BST 2007
    
    
  
Phil Thompson a écrit :
>>
>> Can you please give me a sample ?
> 
> There is a bug in readSettings() that is fixed in tonight's snapshot. Though I 
> don't see how using the settings helps particularly. The eric source code is 
> probably the best source of example code.
> 
>> I've tried to see a edge line at column 80, but failed.
>> Here's the code :
>>
>> ## Edge Mode
>> editor.EdgeMode(QsciScintilla.EdgeLine)
>> editor.setEdgeColumn(80)
>> editor.setEdgeColor(QtGui.QColor("#FF0000"))
> 
> You need to produce a short complete example that demonstrates the problem.
Hi Phil,
Here it is (name this file "qt4_sci_test.py"):
---->---->---->---->---->---->
#!/usr/bin/env python
# -*- coding: latin1 -*-
"""
A little try with the QScintilla2 widget
"""
import sys
from PyQt4.QtGui import QApplication
from PyQt4 import QtCore, QtGui
from PyQt4.Qsci import QsciScintilla, QsciScintillaBase, 
QsciLexerPython, QsciLexerD
if __name__ == "__main__":
     app = QApplication(sys.argv)
     editor = QsciScintilla()
     ## define the font to use
     font = QtGui.QFont()
     font.setFamily("Consolas")
     font.setFixedPitch(True)
     font.setPointSize(10)
     fm = QtGui.QFontMetrics(font)
     ## set the default font of the editor
     editor.setFont(font)
     editor.setMarginsFont(font)
     editor.setMarginWidth(0, fm.width( "00000" ) + 5)
     ## Edge Mode : does not seems to work
     editor.EdgeMode(QsciScintilla.EdgeLine)
     editor.setEdgeColumn(80)
     editor.setEdgeColor(QtGui.QColor("#FF0000"))
     ## Folding visual
     editor.setFolding(QsciScintilla.BoxedTreeFoldStyle)
     editor.setMarginLineNumbers(0, True)
     ## Braces matching
     editor.setBraceMatching(QsciScintilla.SloppyBraceMatch)
     ## Paper background
     # editor.setPaper(QtGui.QColor("#002008"))
     ## Editing line color
     editor.setCaretLineVisible(True)
     editor.setCaretLineBackgroundColor(QtGui.QColor("#CDA869"))
     ## Margins
     # line numbers margin
     editor.setMarginsBackgroundColor(QtGui.QColor("#333333"))
     editor.setMarginsForegroundColor(QtGui.QColor("#CCCCCC"))
     # folding margin colors (foreground,background)
 
editor.setFoldMarginColors(QtGui.QColor("#99CC66"),QtGui.QColor("#333300"))
     ## Choose a lexer
     lexer = QsciLexerPython()
     lexer.setDefaultFont(font)
     editor.setLexer(lexer)
     ## Render on screen
     editor.show()
     ## Show this file in the editor
     editor.setText(open("qt4_sci_test.py").read())
     sys.exit(app.exec_())
---->---->---->---->---->---->
    
    
More information about the PyQt
mailing list