gpt4 book ai didi

c++ - Qt QTextEdit 行号

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:59:18 26 4
gpt4 key购买 nike

我正在为 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 的结合并不好。我知道这些 block 保存在 QTextDocument 中,但该类也没有这些方法。

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

谁能帮帮我?

谢谢

最佳答案

该示例使用 QPlainTextEdit 并访问 firstVisibleBlock() 等 protected 函数。

查看QPlainTextEdit 的源代码,了解 IT 是如何实现这些功能的。看起来它们是根据文档实现的(至少 firstVisibleBlock() 是这样)。

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

关于c++ - Qt QTextEdit 行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12108221/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com