Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Kropes от Ноябрь 28, 2010, 14:52



Название: Количество строк в QTextEdit
Отправлено: Kropes от Ноябрь 28, 2010, 14:52
Мне нужно узнать количество строк в QTextEdit при каждом изменении его размера. Я это реализовал при помощи смещения курсора вниз и счетчика :( . Все бы хорошо, но при открытии большого текста он жутко тормозит.
Код:
int count = QTextEdit -> document() -> lineCount(); 
возвращает количество строк в текстовом документе, но не в самом QTextEdit.


Название: Re: Количество строк в QTextEdit
Отправлено: deaks от Ноябрь 29, 2010, 23:18
QTextEdit::lines() - не подходит?


Название: Re: Количество строк в QTextEdit
Отправлено: Kropes от Ноябрь 29, 2010, 23:37
QTextEdit::lines() - не подходит?
Спасибо, но данный метод отсутствует в QT4.


Название: Re: Количество строк в QTextEdit
Отправлено: deaks от Ноябрь 30, 2010, 00:00
тогда попробуйте
Код:
textEdit->document()->blockCount();


Название: Re: Количество строк в QTextEdit
Отправлено: Kropes от Ноябрь 30, 2010, 00:14
Код:
TE->document()->blockCount();
возвратило тоже самое, что и document() -> lineCount()


Название: Re: Количество строк в QTextEdit
Отправлено: deaks от Ноябрь 30, 2010, 00:30
все же это странно, что у вас возвращается неправильное количество строк
покажите что ли код) или все действия это только document->lineCount() ?


Название: Re: Количество строк в QTextEdit
Отправлено: crossly от Ноябрь 30, 2010, 13:53
Код:
TE->document()->blockCount();
возвратило тоже самое, что и document() -> lineCount()
а что вы хотели что бы оно вам вернуло... lineCount это по сути дела количество абзацев ... потому как кол-во строк  на прямую зависит от ширины вашего textedit... чем он шире тем меньше строк соответственно и на оборот.... так что решать задачу вам... самостоятельно...