代码之家  ›  专栏  ›  技术社区  ›  yan bellavance

更改qtextDocument内的qtextBlock的颜色

  •  1
  • yan bellavance  · 技术社区  · 16 年前

    是否有其他方法可以更改qtextDocument中的qtextBlock的qtextLayout,而不必子类qabstractTextDocumentLayout并调用其documentChanged?

    我知道,在调用qtextBlock::layout()const;“返回的qtextLayout对象只能从qAbstractTextDocumentLayout子类的documentChanged实现中进行修改”,但在我实现它之前,如果有其他方法,我正在进行工作。

    基本上,我只想突出显示长度超过x个字符的段落(qtextblock),其余段落则正常。

    2 回复  |  直到 11 年前
        1
  •  3
  •   CHW mmoment    11 年前

    看qsyntaxhighlighter http://doc.qt.io/qt-4.8/qsyntaxhighlighter.html

    这会让你做你想做的事情。

        2
  •  1
  •   deemok    16 年前

    直接更改块布局的问题是,它会无意中影响当前活动文档布局的布局(内部QabstractTextDocumentLayout实现的实例)-它只计算documentChanged()中qttextDocument元素的位置,并在需要重新绘制或点击测试时使用它们-所以这些东西可能会坏。

    你能详细说明你想达到的目标吗?