Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Tertium Organum от Май 10, 2007, 15:37



Название: Удалить из QTextEdit первые несколько символов или строку
Отправлено: Tertium Organum от Май 10, 2007, 15:37
пробовал так:
      
Код:
QTextCursor & cur = ms_edit->textCursor();
cur.movePosition(QTextCursor::Start);
cur.select(QTextCursor::LineUnderCursor);
if (cur.hasSelection())
cur.removeSelectedText();


и так:

Код:
cur.movePosition(QTextCursor::Start);
cur.movePosition(QTextCursor::Left, QTextCursor::KeepAnchor, 50);
if (cur.hasSelection())
cur.removeSelectedText();


ну не хочет и все.
Собственно, надо удалять первую строку при превышении определенного размера - а там уж как получится.[/code]


Название: Удалить из QTextEdit первые несколько символов или строку
Отправлено: pastor от Май 10, 2007, 15:52
Код:
QTextCursor cur(ms_edit->document());
cur.movePosition(QTextCursor::Start);
cur.movePosition(QTextCursor::EndOfLine, QTextCursor::KeepAnchor);
cur.removeSelectedText();


оно?


Название: Удалить из QTextEdit первые несколько символов или строку
Отправлено: Tertium Organum от Май 10, 2007, 15:57
то же самое, что и
cur.movePosition(QTextCursor::Start);
cur.movePosition(QTextCursor::Left, QTextCursor::KeepAnchor, 50);
if (cur.hasSelection())
   cur.removeSelectedText();


Название: Удалить из QTextEdit первые несколько символов или строку
Отправлено: pastor от Май 10, 2007, 15:59
Если я правильно понял, то ты делаешь окно лога, так? Задай лимит на кол-во блоков при помощи QTextDocument::setMaximumBlockCount.

Цитировать
Specifies the maximum number of blocks the document may have. If there are more blocks in the document that specified with this property blocks are removed from the beginning of the document.


Или тебе нужно ограничить длину стоки?


Название: Удалить из QTextEdit первые несколько символов или строку
Отправлено: Tertium Organum от Май 10, 2007, 16:29
оно! спасибо

добавлено спустя:

 вот только это значит надо использовать append?

добавлено спустя 2 минуты:

 хм, работает и курсором. видно, что заканчивается ентером - то блок