Skip to main content
 首页 » 编程设计

qt中在 QTextEdit 中绘画而不影响文本

2024年09月07日38xing901022

我试图在QTextEdit中绘制一些线条,但是当paintEvent被调用时,整个QTextEdit文本被清除,线条被绘制,无法进一步输入文本。如果我滚动,绘制的线条会表现得很奇怪,以某种方式在水平或垂直方向上倍增。我想在 QTextEdit 上绘制,不影响它的文本和绘制的内容,以便在滚动时正常工作,以保持其坐标。

这是代码:

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) 

请您参考如下方法:

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

super(TextEdit, self).paintEvent(event)