我正在尝试向 PyQt4 中的文本编辑器添加一些语法突出显示。我在文档中找到了一个示例,该示例在从 C++ 编译时可以找到,但是当我将其转换为 Python/PyQt 时它不再有效。
失败的代码部分(不再突出显示任何内容)是:
def highlightCurrentLine(self):
extraSelections = []
if not self.isReadOnly():
selection = QTextEdit.ExtraSelection()
lineColor = QColor(Qt.yellow).lighter(160)
selection.format.setBackground(lineColor)
selection.format.setProperty(QTextFormat.FullWidthSelection, QVariant(True))
selection.cursor = self.textCursor()
selection.cursor.clearSelection()
extraSelections.append(selection)
self.setExtraSelections(extraSelections)
由以下方式调用:
self.connect(self, SIGNAL('cursorPositionChanged()'), self.highlightCurrentLine)
任何人都知道为什么这不起作用?
我正在使用的版本是:Python 2.6.2、PyQt 4.4.4