Qt QTextEdit行号

时间:2012-08-24 11:07:45

标签: c++ qt code-editor

我正在为Qt中的GLSL编写代码编辑器,我在显示QTextEdit的行号方面遇到了问题。我从Qt Code Editor Example但未解决这个例子,但是这部分

QTextBlock block = firstVisibleBlock();
int blockNumber = block.blockNumber();
int top = (int) blockBoundingGeometry(block).translated(contentOffset()).top();
int bottom = top + (int) blockBoundingRect(block).height();
鉴于我没有firstBisibleBlock,blockBoundingGeometry和blockBoundingRect方法,

与QTextEdit并没有很好的结合。我知道块保存在QTextDocument中,但该类也没有这些方法。

我尝试搜索一个例子,但每次有人问这个问题时,他都会被引导到同一个链接。

有人可以帮助我吗?

由于

1 个答案:

答案 0 :(得分:0)

该示例使用QPlainTextEdit并访问firstVisibleBlock()等受保护的函数。

查看QPlainTextEdit的源代码,了解IT实现这些功能的作用。它看起来好像是根据文档实现的(至少firstVisibleBlock()确实如此)。

或者,复制示例并从QPlainTextEdit自己派生,不要使用QTextEdit