代码之家  ›  专栏  ›  技术社区  ›  L.V.A

如何为QTextEdit添加内联注释?

  •  1
  • L.V.A  · 技术社区  · 6 年前

    这是一个带有内联注释的屏幕截图。 inline annotations qt creator

    1 回复  |  直到 6 年前
        1
  •  0
  •   Haru    5 年前

    一开始,

    应为“;”

    此邮件为只读邮件。 你可以用任何方法抓住目标块。

    例如, QTextCursor 使用带有EndOfLine、KeepAnchor标志的movePosition方法可以搜索并捕获最后一个字符。

    如果捕获的文本不是“;”,则发出这样的注释。

    QTextEdit 一直以来 QTextDocument 对象。它是通过 document()

    这个班有 findBlock() 方法。

    无论如何, , QTextDocument文件 , QTextCursor命令

    因为注释是只读的,所以可以重写QTextEdit的paintEvent方法,这样就可以了。

    你做了一个绘画对象( QPainter ).

    painter方法有drawImage(“第一个位置弹出的图像”)和drawText。

    QColor()

    您可以使用QTextEdit的cursorRect()方法并捕捉左上角的近似值来呈现文本,因为DrawImage和DrawText方法的参数需要rects,所以非常简单重要的。这个cursorRect()方法可以与 指针。

    QFontMetrics 以此类推,它是用来查看注释句的所有范围的。

    事先,您需要制作所有类型的注释文本(遵循您自己的规则),并计划何时何地使用它们。