QTextDocument tip.
Если необходимо наполнить QTextDocument про помощи QTextCursor, то чтобы не удивляться тормознутости этой операции _НИКОГДА_ не делайте так:
QTextEdit textEdit;
QTextDocument *document = textEdit.document();
и далее начинаем с этим документом работать....
Во время редактирования такого документа, QTextEdit будет пытаться его отобразить при каждом изменении, и таким образом вся эта системя будет чудовищно тормозить.
Создавайте документ отдельно, и когда его будет нужно отобразить подключаёте документ к QTextEdit:
QTextEdit textEdit;
QTextDocument *document = new QTextDocument(&textEdit); // установить textEdit родителем документа необходимо чтобы при замене документа текущий удалялся, а не висел в пямяти.
/* наполняем документ */
textEdit.setDocument(document);
У меня при составлении одного документа скорость поднялась с 11 секунд до 400 милисекунд!!!
QTextEdit textEdit;
QTextDocument *document = textEdit.document();
и далее начинаем с этим документом работать....
Во время редактирования такого документа, QTextEdit будет пытаться его отобразить при каждом изменении, и таким образом вся эта системя будет чудовищно тормозить.
Создавайте документ отдельно, и когда его будет нужно отобразить подключаёте документ к QTextEdit:
QTextEdit textEdit;
QTextDocument *document = new QTextDocument(&textEdit); // установить textEdit родителем документа необходимо чтобы при замене документа текущий удалялся, а не висел в пямяти.
/* наполняем документ */
textEdit.setDocument(document);
У меня при составлении одного документа скорость поднялась с 11 секунд до 400 милисекунд!!!
Комментарии: 0:
Отправить комментарий
Подпишитесь на каналы Комментарии к сообщению [Atom]
<< Главная страница