Qt QText编辑行号
Qt QTextEdit line numbers
我正在Qt中为GLSL编写代码编辑器,在显示QTextEdit的行号时遇到问题。我不支持Qt代码编辑器示例中的示例,但这部分
QTextBlock block = firstVisibleBlock();
int blockNumber = block.blockNumber();
int top = (int) blockBoundingGeometry(block).translated(contentOffset()).top();
int bottom = top + (int) blockBoundingRect(block).height();
并没有很好地与QTextEdit结合,因为我没有第一个BisibleBlock、blockBoundingGeometry和blockBouddingRect方法。我知道这些块保存在QTextDocument中,但该类也没有这些方法。
我试着搜索一个例子,但每次有人问这个问题时,他都会被引导到同一个链接。
有人能帮我吗?
感谢
此示例使用QPlainTextEdit
并访问firstVisibleBlock()
等受保护的函数。
看看QPlainTextEdit
的源代码,看看IT是如何实现这些功能的。看起来它们是根据文档实现的(至少firstVisibleBlock()
是这样做的)。
或者,复制示例并自己从QPlainTextEdit
派生,不要使用QTextEdit
。
相关文章:
- 在createdialog创建的窗口中捕获用于编辑控件的OnMouseMove消息
- 编辑文件中的文本
- 有没有办法在远程设备上打开和编辑visual Studio 2017解决方案
- SetDlgItemInt 不会更改嵌入资源的编辑框
- 我无法在Visual Studio代码中使用CIN输入答案,它说输入您的年龄,但它说只读文本编辑器如何解决这个问题?
- C++,Qt:仅在双击后编辑qtablewidget项目
- 编辑字符串以包含括号 c++ 之间的变量
- Arduino函数无法编辑数组
- 调试符号中缺少 QObject 类信息(编辑但存在其他 Qt 类)
- "未定义对'WinMain@16'的引用"gcc 编辑器中的错误
- C++MFC编辑框处理双击
- 是否可以使用指针访问变量以避免直接编辑变量?
- 我的主窗口在创建时或单击更新区域时是否会收到编辑控件?
- 在 c++ 中编辑注册表项
- 无法将行编辑中的文本打印到 Qt C++ 中的标签
- 尝试使用 CMake 和 MinGW64 进行构建时出现多个编辑错误
- 如何从C++而不是虚幻编辑器中添加静态网格体组件的值?
- UE4 - Visual Studio在我从编辑器添加新的c ++文件后无法打开任何源文件 - UBT_COMPILED
- Qt如何将行编辑连接到进度条
- Qt QText编辑行号