![]() |
|
![]() ![]() ![]() |
|
DK2 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 8.3.2011 Репутация: нет Всего: нет |
Народ помогите пожайлуста очень нужна помощь.
Можно ли узнать количество строк(линий) в QTextEdit? как обратьтся к конкретной строке? Можно ли узнать количество символом в строке QTextEdit? как обратьтся к конкретному символу в строке? Можно ли узнать отступы между строками(лининиями)? А главное можно ли узнать начался ли скролинг в QTextEdit? если событие для этого? Бьюсь уже месяц над этим, пока не работает ничего. |
|||
|
||||
borisbn |
|
||||||||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
правда, не проверял... см.
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||||||||||||
|
|||||||||||||||
DK2 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 8.3.2011 Репутация: нет Всего: нет |
Огромное спасибо. Буду побывать.
|
|||
|
||||
DK2 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 8.3.2011 Репутация: нет Всего: нет |
Вопрос
а как получить парамерты шрифта этого символа? Это сообщение отредактировал(а) DK2 - 11.5.2011, 22:08 |
||||
|
|||||
xwicked |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 9.4.2010 Где: Старый Оскол Репутация: 1 Всего: 1 |
При работе с QTextEdit я парсил html-код в QString. То есть, выгружал нужный участок в переменную типа QString, а потом уже получал / изменял шрифт. |
||||||
|
|||||||
DK2 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 8.3.2011 Репутация: нет Всего: нет |
Я пробывал выделить нужный символ QTextCursor и из него достать шрифт. Однако выделить то, что нужно, не выходит. Сейчас пробую так
Мне то нужно узнать высоту линии(строки) всего то. Дальше сложить эти высоты + растояния между линиями и узнать выходит ли текст за рамки viewport если да, то лишнее вставить в другой TextEdit. Это сообщение отредактировал(а) DK2 - 15.5.2011, 16:10 |
|||
|
||||
xwicked |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 9.4.2010 Где: Старый Оскол Репутация: 1 Всего: 1 |
Я уже нашёл как это сделать более простым способом. Где-то записал в своей амбарной книге - надо полистать. Первый способ(как и у Вас), посчитал сильно бородатым - поэтому не стал это в своей программе реализовывать. Найду - отпишусь. Это сообщение отредактировал(а) xwicked - 15.5.2011, 18:51 |
|||
|
||||
DK2 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 8.3.2011 Репутация: нет Всего: нет |
Огромное спасибо. Буду ждать.
|
|||
|
||||
DK2 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 8.3.2011 Репутация: нет Всего: нет |
Народ вот еще интересный вопрос, касательно печати и обычной и в PDF формате.
Как напечатать текст из одного QTextEdit это понятно, а как напечатать одним файлом тектс из разных QTextEdit. К примеру, есть n-ное количество QtextEdit, для нас это будут страницы документа каждый textEdit новая страница. так идет обычная печать в PDF, взял из демо Qt
я пока не сильно разобрался, как это переделать под печать нескольких доков есть мысль, что нужно динамически создать QtextEdit и запихнуть в него текст из всех эдитов, вот как сделать чтобы каждый из этих едитов для принтера был новой страницей??? Это сообщение отредактировал(а) DK2 - 16.5.2011, 22:28 |
|||
|
||||
DK2 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 8.3.2011 Репутация: нет Всего: нет |
Уважаемый xwicked, пока вы ищите не могли бы сказать в как вы это сделали. Хотя бы на пальцах, чтоб я сам попробывал сделать тоже самое. Так сказал, указать сторону в которую нужно копать.
Это сообщение отредактировал(а) DK2 - 16.5.2011, 23:54 |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
DK2, в документе находишь нужный блок и получаешь для него формат. Что сложного
http://doc.qt.nokia.com/4.7/qtextdocument....ndBlockByNumber http://doc.qt.nokia.com/4.7/qtextblock.html#charFormat |
|||
|
||||
DK2 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 8.3.2011 Репутация: нет Всего: нет |
Эта операция требует знать индекс блока в документе. Вопрос как узнать номер блока в доке если я могу пока что знаю индекс в конкретной строке? К тому же меня смущает назнание блок! Что это ? Имхо это несколько символов, мне нужет конкретный в линии. Это сообщение отредактировал(а) DK2 - 17.5.2011, 00:05 |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
DK2, ты как узнал, какая у тебя "линия"? Или тебе нужно просто, узнать размер символа в строке 20 позиции 3?
Добавлено через 5 минут и 4 секунды DK2, можешь воспользоваться методом findBlockByLineNumber, а затем используя итерацию между begin()/end() найти формат нужного тебе символа. Но рекомендую научиться читать документацию. Так как имея проблемы с поиском нужных методов путем пролистывания документации на пару строчек вверх, далеко не уедешь. |
|||
|
||||
DK2 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 8.3.2011 Репутация: нет Всего: нет |
именно так. мне нужно перебрать все символы построчно для того чтобы получить высоту линии. З.Ы. рекомендую сначала с темой ознакомится, findBlockByLineNumber мне уже рекомендовали выше |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
DK2, я тебе дал два метода, которые тебе позволят не перебирать все символы. А перебрать все форматы символов строки. Их, в общем случае, меньше, чем символов.
Это сообщение отредактировал(а) bsa - 17.5.2011, 11:51 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |