我正在使用pyqt4编写博客编辑器。我的问题是这个。有一个所见即所得的编辑器选项卡和一个HTML代码编辑器选项卡。在一个中完成的更改应该反映在另一个中。一种选择是在qtextedit中文本更改时使用setHtml和toHtml函数。但是这种方法的问题在于,当我在qtextedit上使用setHtml时,之前的所有编辑撤消历史记录都将丢失。如果我尝试在textchanged信号上保持自己的历史记录,将使用大量内存。考虑我输入一个句子,textchanged将针对每个单个字符发出信号,undo将逐个字符。
我尝试在两个qtextedits之间共享相同的qtextdocument,但由于突出显示与qtextdocument相关联,因此也会失败,因此会应用于两个qtextedits。
另一个选择是当用户在wysiwyg编辑器窗口中工作时什么都不做。当用户在html代码编辑器中进行一些编辑时,我会等到用户完成编辑,然后一旦完成,我将找到编辑的差异,并以某种方式,在wysiwyg编辑器的qtextdocument中进行相应的编辑更改。这可以实现吗?如何在qtextdocument中进行这样的更改?有一种我不知道的更简单的方法吗?
请帮忙。