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