Насколько я знаю (официальный источник), Qt определяет блок в QTextDocument как набор символов, сопровождаемых \ п или похожий персонаж. Следовательно …
QTextDocument* doc = my_qtextedit.document();
QTextCursor cur = QTextCursor(doc);
cur.insertText("aaa\nbbb");
qDebug() << "nbr of blocks" << doc->blockCount();
… печать «nbr блоков = 2».
Но мне нужно
Электрический ток блок Механизм интересен благодаря функциям / итераторам find (), begin (), …, но я не могу понять, как специализировать его в соответствии с моими требованиями.
Есть ли способ добиться этого?
Обновить : увы кажется сложно.
Обновить : QTextFragment позволяет только изменить формат текста.
Я также пострадал от решения этой проблемы.
У меня есть две идеи. (Но обе они не уверены.)
Я думаю, что это достигается путем реализации QAbstractTextDocumentLayout
Когда вы перезаписываете метод boudingblock, вы пишете QTextLayout()
в методе.
Вы можете переопределить QTextLayout в блоке.
Но это очень мало информации.
Я пытался настроить мой QTextDocument
но это было напрасно.
Если вы хотите разделить свой блок на четыре части,
вы можете использовать QTextLayout.formatRange()
,
Вы устанавливаете начальную позицию, длину, формат.
Вы можете установить специальный формат для длины от начальной позиции.
QTextLayout()
имеет block()
само собой.
Вы установилиAdditionalFormat ().
Я думаю, что вы можете сделать это.
QTextBlock
в основном равен одному абзацу.
Вы можете сделать новый блок, нажав клавишу ввода или insertBlock()
,
Без этого ваше предложение в одном блоке.
Я понятия не имею, чтобы разделить блок с помощью методов.
я пытался setBlockCount()
но это было напрасно.
Я думаю, что когда-нибудь решу эту проблему, но …