あなたはQTextEdit.setExtraSelections
:
import sys
from PyQt4.QtGui import (QApplication, QTextEdit, QTextBrowser, QTextCursor,
QTextCharFormat, QPalette)
app = QApplication(sys.argv)
view = QTextBrowser()
for i in range(25):
view.append(10*('Long Line of text # %004d '%i))
view.setLineWrapMode(0)
line_to_find = 'Long Line'
# get default selection format from view's palette
palette = view.palette()
text_format = QTextCharFormat()
text_format.setBackground(palette.brush(QPalette.Normal, QPalette.Highlight))
text_format.setForeground(palette.brush(QPalette.Normal, QPalette.HighlightedText))
# find all occurrences of the text
doc = view.document()
cur = QTextCursor()
selections = []
while 1:
cur = doc.find(line_to_find, cur)
if cur.isNull():
break
sel = QTextEdit.ExtraSelection()
sel.cursor = cur
sel.format = text_format
selections.append(sel)
view.setExtraSelections(selections)
view.show()
app.exec_()
を使用することができますそして、ここでの結果である:
またQSyntaxHighlighter
を試してみてくださいが。