синхронизация содержимого между двумя qtextedits или qtextedit и qscintilla с историей отмены - PullRequest
0 голосов
/ 19 октября 2011

Я пишу редактор блога, используя pyqt4. Моя проблема заключается в следующем. Существует вкладка редактора wysiwyg и вкладка редактора HTML-кода. Изменения, сделанные в одном, должны отражаться в другом. Одним из вариантов является использование функций setHtml и toHtml при каждом изменении текста в qtextedit. Но проблема с этим подходом состоит в том, что когда я использую setHtml в qtextedit, вся предыдущая история отмены редактирования теряется. Если я попытаюсь сохранить свою собственную историю на текстовом сигнале, будет использовано много памяти. Предположим, я ввожу предложение, текстовое сообщение будет сигнализироваться для каждого отдельного символа, а отмена будет посимвольной.

Я попытался разделить один и тот же qtextdocument между двумя qtextedits, но это также не удалось, поскольку выделение связано с qtextdocument и, следовательно, применяется к обоим qtextedits.

Другой вариант - ничего не делать, когда пользователь работает в окне редактора wysiwyg. Когда пользователь делает некоторые изменения в редакторе html-кода, я подожду, пока пользователь закончит редактирование, а затем, когда я закончу, я найду разницу в редактировании и каким-то образом внесу соответствующее изменение в qtextdocument редактора wysiwyg. Это достижимо? Как я могу сделать такое изменение в qtextdocument? Есть ли более простой способ, о котором я не знаю?

Пожалуйста, помогите.

1 Ответ

0 голосов
/ 06 ноября 2011

Я провел немного больше исследований и разъяснил свой вопрос в Доступ к QTextHtmlImporter в PyQt4

Это решило бы эту проблему.

...