Python 在两个qtextedit或一个qtextedit与具有撤消历史的QSCINTILA之间同步内容

Python 在两个qtextedit或一个qtextedit与具有撤消历史的QSCINTILA之间同步内容,python,qt4,pyqt4,qtextedit,qtextdocument,Python,Qt4,Pyqt4,Qtextedit,Qtextdocument,我正在使用pyqt4编写博客编辑器。我的问题是这个。有一个所见即所得编辑器选项卡和一个html代码编辑器选项卡。其中一个方面的变化应该反映在另一个方面。一个选项是在qtextedit中的文本发生更改时使用setHtml和toHtml函数。但这种方法的问题是,当我在qtextedit上使用setHtml时,所有以前的编辑撤消历史记录都会丢失。如果我试图在textchanged信号上维护自己的历史记录,就会使用大量内存。考虑到我输入一个句子,Twitter将被标记为每个字符,撤销将是字符按字符。 我

我正在使用pyqt4编写博客编辑器。我的问题是这个。有一个所见即所得编辑器选项卡和一个html代码编辑器选项卡。其中一个方面的变化应该反映在另一个方面。一个选项是在qtextedit中的文本发生更改时使用setHtml和toHtml函数。但这种方法的问题是,当我在qtextedit上使用setHtml时,所有以前的编辑撤消历史记录都会丢失。如果我试图在textchanged信号上维护自己的历史记录,就会使用大量内存。考虑到我输入一个句子,Twitter将被标记为每个字符,撤销将是字符按字符。

我尝试在两个qtextedits之间共享相同的qtextdocument,但也失败了,因为高亮显示链接到qtextdocument,因此应用于两个qtextedits

另一个选项是,当用户在所见即所得编辑器窗口中工作时,不执行任何操作。当用户在html代码编辑器中进行一些编辑时,我将等待用户完成编辑,然后一旦完成,我将找到编辑的差异,并以某种方式在所见即所得编辑器的qtextdocument中进行相应的编辑更改。这是可以实现的吗?如何在qtextdocument中进行这样的更改?有没有一种我不知道的更简单的方法


请帮忙。

我做了更多的研究,把我的问题弄清楚了


这将从根本上解决这个问题。

同时显示两个编辑器对用户有什么好处?好吧,用户将以所见即所得模式进行编辑。如果他们需要做一些使用wysiwyg模式无法做到的调整,那么他们可以切换到html代码模式,进行必要的更改,然后切换回wysiwyg get模式。我所需要的就是在维护历史记录的同时完成上述功能。在我看来,您过于复杂化了gui,对用户没有什么好处。html编辑器是一个高级功能,应该在单独的窗口或选项卡中。嗨,ekhumoro,这是所有博客编辑器的基本功能之一。你能举个例子吗?如果是这样,它可能会提供一些关于如何解决问题的线索。我看到的所有这些都是wysiwyg或html,但不是同时出现的。