Qt WYSIWYG编辑器 - 不可编辑/生成的区域

时间:2010-09-10 15:58:30

标签: qt editor widget wysiwyg qtextedit

我正在开发一个WYSIWYG文档编辑器。编辑器是围绕Qt框架构建的,因为Linux / KDE是它将运行的主要平台。

到目前为止,我一直在使用QTextEdit小部件,并且已经进行了基本的文本编辑和格式化。但是我已经停止了如何实现以下要求:

文档分为多个标题级别,顶部必须有自动生成的目录。

您应该可以为文本段落选择样式(标题1,标题2,...,段落),如果选择标题样式,则该行的前缀为节号。

例如,包含样式“标题3”的文本“设计规范”的段落可能会显示为:

3.4.2设计规范

自动生成前缀部分编号“ 3.4.2 ”。当在其上方插入和删除标题时,节号应该更新。用户不应该自己修改或删除此前缀。如果他们确实删除了前缀,则该段落应该恢复为“段落”样式,而不是保留标题。

在插入/修改/删除标题时,应自动更新目录。用户也不应该修改或删除目录。

我坚持如何在我的编辑器中实现该功能。我想的可能是存储一个不可编辑范围的树(包括目录和每个前缀的范围),每次光标位置/当前选择改变时,如果选择重叠或者选择重叠,我将把QTextEdit控件设置为只读光标位于范围内。但是,每次修改某些内容时都存在保持所有这些范围最新(重建树)的问题,这通常是在WYSIWYG编辑器中。

我被困在如何继续,我将不胜感激任何有关此事的建议。

1 个答案:

答案 0 :(得分:0)

IMO您不需要使用编辑器添加这些数字:只需declare them using CSS并让HTML渲染器添加/显示它们。