Russian Qt Forum
Апрель 20, 2024, 08:35 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Число строк в выделенном тексте  (Прочитано 5134 раз)
Belliever
Гость
« : Февраль 23, 2011, 23:09 »

Здравствуйте!

Имеем: виджет QTextEdit, в нем есть текст. Пользователь выделяет несколько строк в тексте.
Вопрос: Можно ли средствами QT подсчитать сколько строк пользователь выделил?

Не хочется анализировать знаки переноса (ентер) и т.п.

Заранее спасибо!
Записан
Fat-Zer
Гость
« Ответ #1 : Февраль 23, 2011, 23:51 »

Код
C++ (Qt)
textEdit->textCursor()->selectedText ()
 
а дальше опять же считать кол-во '\n'.
без этого ИМХО ни как не обойтись, ибо текст в различных эдитах хранится в плоском виде...
Записан
Belliever
Гость
« Ответ #2 : Февраль 24, 2011, 00:19 »

Ясно. Значит классических процедур не избежать Улыбающийся
Спасибо!
Записан
AleUri
Гость
« Ответ #3 : Февраль 24, 2011, 21:28 »

QString::split
http://doc.qt.nokia.com/latest/qstring.html#split
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #4 : Февраль 24, 2011, 21:32 »

А там и процедур-то особо нет:
QString text = textEdit->textCursor()->selectedText ();
int lineCounter = text.split("\n").size();

надеюсь в Асистенте прочитаешь, что каждый из методов делает.

AleUri, опередил Улыбающийся
Записан

Юра.
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #5 : Февраль 24, 2011, 21:53 »

а дальше опять же считать кол-во '\n'.
Могет быть и '\r' вместо '\n', так что если претендуем на кросс-платформенность, придется отследить 3 варианта

\n
\n\r
\r

(так, чтоб жизнь медом не казалась)
Записан
Fat-Zer
Гость
« Ответ #6 : Февраль 25, 2011, 05:34 »

А там и процедур-то особо нет:
QString text = textEdit->textCursor()->selectedText ();
int lineCounter = text.split("\n").size();

надеюсь в Асистенте прочитаешь, что каждый из методов делает.

AleUri, опередил Улыбающийся
а не очень ли это всё медленно будет?
а дальше опять же считать кол-во '\n'.
Могет быть и '\r' вместо '\n', так что если претендуем на кросс-платформенность, придется отследить 3 варианта

\n
\n\r
\r

(так, чтоб жизнь медом не казалась)
ЕМНИП внутри QTextEdit (да и во всех строках) на всех системах всё хранится через '/n', хотя я бы ещё раз посмотрел бы...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.067 секунд. Запросов: 22.