繁体   English   中英

QTextEdit:输入HTML / richttext

[英]QTextEdit: typing in HTML/richttext

我有一个QTextEdit,并希望用户能够键入富文本,然后将自动(正确)显示在窗口小部件中(所以:格式化)。

在以编程方式设置文本时(使用setText() ),它可以正常工作,但在手动键入时则不行。 请参见下图。使用setText设置“输入”,手动键入以下行。 我想这行自动格式化

在此输入图像描述

最简单的方法是什么? 我可以考虑手动捕获关键事件并将文本显式设置为HTML的唯一方法。但我确信有更好的方法。

手动输入的html被转义,<将成为<等。

如果不是这样的话,你将无法编辑它,原因显而易见。 可以尝试添加[render]按钮或类似的东西,将输入的文本呈现为html。 尝试在按键上渲染是非常危险的,因为它使得输入非常不方便和反直觉,然后让它神奇地改变输出。 未完成的标记也可能会在你的车轮上留下一根棍子。

从富文本源(例如网页)粘贴也可以保留格式。

正如“JinX”已经说过,如果您尝试捕获每个关键事件然后尝试更改要在HTML中呈现的文本,它将不会如此直观。 虽然您可以使用一些特殊的键序列,但请说“shift + return key”将当前行/整个textedit的文本更改为html格式的文本。 这只是一个建议。 在这种情况下,不仅仅是实现,它还与用户期望的内容有关。 将1行/整个textedit的文本从plain更改为HTML也很容易实现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM