0

私はpyqt4を使用してブログエディタを書いています。私の問題はこれです。wysiwygエディタータブとhtmlコードエディタータブがあります。一方で行われた変更は、もう一方にも反映されるはずです。1つのオプションは、qtexteditでテキストが変更されるたびにsetHtml関数とtoHtml関数を使用することです。ただし、このアプローチの問題は、qtexteditでsetHtmlを使用すると、以前の編集取り消し履歴がすべて失われることです。textchanged信号で自分の履歴を維持しようとすると、大量のメモリが使用されます。文を入力すると、textchangedはすべての文字に対して通知され、undoは文字ごとに通知されます。

2つのqtextedit間で同じqtextdocumentを共有しようとしましたが、強調表示がqtextdocumentにリンクされているため、両方のqtexteditに適用されるため失敗しました。

もう1つのオプションは、ユーザーがwysiwygエディターウィンドウで作業しているときに何もしないことです。ユーザーがhtmlコードエディターで編集を行うと、ユーザーが編集を完了するまで待ちます。編集が完了すると、編集の差分が見つかり、wysiwygエディターのqtextdocumentで対応する編集変更を行います。これは達成可能ですか?qtextdocumentでそのような変更を行うにはどうすればよいですか?私が気付いていないもっと簡単な方法はありますか?

助けてください。

4

1 に答える 1

0

PyQt4でQTextHtmlImporterにアクセスする際に、もう少し調査を行い、質問をより明確にしました。

それは本質的にこの問題を解決するでしょう。

于 2011-11-06T11:01:14.447 に答える