QPlainTextEditクラスをサブクラス化し、paintEvent関数をオーバーライドして、行番号領域を描画できるようにしました。
def paintEvent(self, e):
super(CodeEditor, self).paintEvent(e)
qp = QtGui.QPainter()
qp.begin(self)
self.drawLineNoArea(qp)
qp.end()
プログラムを実行すると、次の出力が得られます。
QPainter::begin: Widget painting can only begin as a result of a paintEvent
QPainter::setPen: Painter not active
QPainter::end: Painter not active, aborted
私の推測では、関数は適切にオーバーライドされていませんが、実際にはわかりません。誰かが私がどこで間違っているのか教えてもらえますか?