Название: Перебор блоков и фрагментов QTextDocument при изменении этого QTextDocument Отправлено: xintrea от Январь 18, 2016, 23:07 Имеется некий документ, нужно перебрать его блоки, а в блоках перебрать фрагменты. И некоторые фрагменты, которые попадают под определенные условия, надо изменить. Они могут стать длиннее, чем исходные. Для изменения фрагмента берется позиция фрагмента в документе, и правится документ (ибо объекты фрагмента и блока в Qt не имеют методов модификации).
Проблема в том, что код изменения документа обернут двумя циклами - перебор блоков текста документа и перебор фрагментов в блоке. И если в процессе работы этих циклов будет меняться документ, то как поведут себя эти циклы? Будут ли они работать правильно? Код: QTextDocument textDocument=...; Название: Re: Перебор блоков и фрагментов QTextDocument при изменении этого QTextDocument Отправлено: kambala от Январь 19, 2016, 14:24 сломаются вероятнее всего.
можно модифицировать копию документа, итерируя при этом по исходному документу, а потом ею заменить исходный документ. Название: Re: Перебор блоков и фрагментов QTextDocument при изменении этого QTextDocument Отправлено: Dimka Novikov от Январь 20, 2016, 10:22 Или бегать по документу при помощи QTextCursor.
|