Я хочу отобразить два указателя в объекте QMap, чтобы сохранить их отношение.Указатель ключа указывает на QTextBlock, а указатель значения указывает на виджет.Цель состоит в том, чтобы обновить позицию виджета относительно позиции QTextBlock в QPlainTextEdit, когда что-то в QPlainTextEdit изменяется.Виджет должен быть уничтожен при уничтожении QTextBlock.
Однако я не знаком с поведением QTextBlock в QPlainTextEdit.Хотя метод firstVisibleBlock (), кажется, не возвращает указатель на QTextBlock в QPlainTextEdit, я создаю новый QTextBlock с QTextBlock из QPlainTextEdit в качестве параметра.Я добавляю новые строки (QTextBlocks) в QPlainTextEdit, нажимая Enter / Return атрибуты объекта за изменением указателя, как и предполагалось.Это означает, что если вы вставите строку перед соответствующим блоком, blockNumber увеличится, а геометрия / позиция изменится.
Но если вы удалите соответствующую строку (backspace / del), указатель по-прежнему будет указывать на QTextBlock в QPlainTextEdit- Понятия не имею, как и почему.Когда я вызываю метод isValid () для значения указателя, он возвращает true.
Итак, почему атрибуты меняются, если это новый объект QTextBlock?Есть ли способ получить прямой указатель или ссылку на QTextBlock в QPlainTextEdit?