qt - 如何为 QTextEdit 添加内联注释?
解决方案
我认为...
首先,
让我们接 > 一个爸爸;行的注释。
预期的 ';'
此消息是只读消息。您可以通过任何方式捕获目标块。
例如,
QTextCursor
可以使用带有 EndOfLine、KeepAnchor 标志的 movePosition 方法来搜索和捕获最后一个字符。
如果捕获的文本不是“;”,则发出这样的注释。
QTextEdit
一直有它的QTextDocument
对象。它是通过document()
方法得到的。
这个类有findBlock()
方法。
无论如何,QTextEdit
, QTextDocument
,QTextCursor
应该用于指定目标位置和矩形范围。
因为注释是只读的,所以你重写QTextEdit的paintEvent方法,它会很好。
然后你制作了一个绘画对象 ( QPainter
)。
Painter 方法有 drawImage("第一个位置弹出的图像") 和 drawText。
画家有 setBrush,setPen 方法设置红色QColor()
您可以利用 QTextEdit 的 cursorRect() 方法并捕捉近似左上角的位置来渲染文本,因为 DrawImage 和 DrawText 方法需要 rects 作为参数,因此非常重要。此 cursorRect() 方法可以与QTextCursor
指针结合使用。
使用等测量后将文本的宽度添加到矩形QFontMetrics
中,用于查看注释语句的所有范围。
如果添加“;” 用于修复代码的字符,研究行并删除注释。(可能我认为在paintEvent操作中切换用于写入或删除它们的标志是好的。)
事先,您需要制作所有类型的注释文本(遵循您自己的规则)并计划使用它们的时间和地点。
推荐阅读
- python - Python:线程延迟
- powershell - 尝试将绑定添加到 IIS 站点时,我返回:“配置对象是只读的”
- c# - 如何为 XML 表提供字段名称并在 datagridview 上显示?
- excel - 根据另一个表中的参数过滤结果
- strapi - 获取所有可用的语言环境,Strapi
- xcode - 如何创建键盘快捷键以在 Mac 上启动 xcode
- azure-active-directory - Microsoft 演示租户中的用户限制
- c# - 有没有办法确保页面重定向在 IIS 上有效
- azure-appservice - Azure 应用服务自定义域限制
- postgresql - 如何提高仅在 varchar(5000) 字段上具有索引且大小为 7.5GB 的表的性能?