在QTextEdit中绘制而不影响文本

时间:2013-01-31 23:01:45

标签: qt pyqt qpainter qtextedit qtextdocument

我正在尝试在QTextEdit中绘制一些线条但是当调用paintEvent时,整个QTextEdit文本会被清除,线条会被绘制,不能再输入文本。如果我滚动,绘制的线条非常奇怪,不知何故在水平或垂直方向上相乘。我想画QTextEdit w / o影响它的文字和绘画的东西在滚动时表现正常,以保持其坐标。

以下是代码:

class TextEdit(QTextEdit):
    def __init__(self, parent = None):
        super(TextEdit, self).__init__(parent)
        self.setViewportMargins(10, 0, 0, 0)


    def paintEvent(self, event):
        painter = QPainter(self.viewport())
        painter.drawLine(10, 10, 200, 10)

1 个答案:

答案 0 :(得分:2)

将其添加到paintEvent方法的底部:

super(TextEdit, self).paintEvent(event)