crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Как определить, что блок текста удалён?, QTextBlock
AlekseyK
  опции профиля:
сообщение 30.12.2010, 14:32
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 22
Регистрация: 9.11.2010
Пользователь №: 2176

Спасибо сказали: 0 раз(а)




Репутация:   0  


Вобщем такая проблема получилась: беру все блоки (QTextBlock) из QPlainTextEdit::document() сохраняю в QList. Затем, например, при редактировании какой-то блок удаляю. Так вот тот, что остаётся в QList ведёт себя очень странно:
  • текст внутри меняется - становится пустой строкой, но блоки без текста тоже содержат пустую строку - это не показатель!
  • blockNumber() - непредсказуемый, а должен быть -1
  • isValid() - true, а должен быть false по идее (написал багрепорт в Qt)
  • другие значения, такие как position() и др. тоже никак не говорят, что блок был удалён

Выкрутился следующим образом:
    /// QList<QTextBlock>        m_pTextBlocks; - in class definition
...
    for(int i = 0; i < m_pTextBlocks.length(); i++)
    {
        if(m_pTextBlocks[i] != document()->findBlockByNumber(m_pTextBlocks[i].blockNumber()))
            m_pTextBlocks.removeAt(i);    
    }

- достаточно элегантно, на мой взгляд, но может есть способ лучше?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
PAFOS
  опции профиля:
сообщение 30.12.2010, 21:49
Сообщение #2


Активный участник
***

Группа: Участник
Сообщений: 258
Регистрация: 27.12.2010
Из: Дмитров
Пользователь №: 2309

Спасибо сказали: 29 раз(а)




Репутация:   8  


Есть еще интересный метод QTextBlock::revision(), может быть чем нить полезен будет
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AlekseyK
  опции профиля:
сообщение 30.12.2010, 22:18
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 22
Регистрация: 9.11.2010
Пользователь №: 2176

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(PAFOS @ 30.12.2010, 20:49) *
Есть еще интересный метод QTextBlock::revision(), может быть чем нить полезен будет

Надо пробовать, но это вроде не о том: ревизию сам ставишь и читаешь с удалением не должно быть связано.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.3.2024, 14:42