Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Размер отображаемого содержимого в TextEdit

14K
05 июня 2007 года
andrey_hello2007
50 / / 30.05.2007
Вроде говорят, что не реально, но решил задать вопрос на форуме. Возможно-ли определить размер отображенного (только по высоте или только по ширине) текста, а точнее будут только html-таблицы в QTextBrowser-e который произошел от QTextEdit-a для последующей подгонке размера QTextBrowser-а под отображенный текст по нужной размерности (верт. или горизонт.). Размер таблицы (по нужной размерности) всегда будет небольшой (0 - 5 строк или 0 - 5 столбцов). Можно было-бы устанавливать по количеству строк/столбцов, но они могут содержать разное количество строк/длину текста. Можно еще добавить параметр скажем число 10 для одной строки внутри ячейки таблицы, 20 для двух, промежуточные значения для точной подгонки и отдать это на откуп тех, кто будет создавать сами html-таблицы, но сомневаюсь, а что получиться если будет разное разрешение экрана или еще вдруг какая настройка будет изменена.
Заранее спасибо за советы.
92
13 июня 2007 года
Тень Пса
2.2K / / 19.10.2006
через QStyleSheet попробуй узнать размер шрифта нужного тебе элемента. скорее всего прийдется пробежать по всем, ибо в одном элементе может быть 80 символов размеров 10px а в следующем 5 символов размером в 20px - это универсально.

если же у тебя всегда фиксированный размер шрифта, то всё сразу просто становится.

размер шрифта умножай на кол-во символов в строке (ширина)
или на кол-во строк (высота)

но это и ежу понятно.

в общем как-то так.
25K
13 июня 2007 года
Andreu_Re
16 / / 11.06.2007
Спасибо, только как определить количество строк в наиболее высокой ячейке строки таблицы (и соответственно высоту строки). В QTextBrowser помещается строка QString, представляющая собой html - текст, BODY которого содержит только одну таблицу.
В принципе, аналог решения я описал в вопросе, так сказать "методом тыка" разработчик таблицы увидит высоту (т. е. количество строк) таблицы и укажет в параметрах данной таблицы это количество строк (согласен, если высота шрифта неизменна). Только опасаюсь подводных камней. Пока этим не занимался, делаю более срочные задачи.
361
13 июня 2007 года
Odissey_
661 / / 19.09.2006
Вообщем, пришла мне в голову одна идея, но даже незнаю, помоему из разряда баек как пишут индийские программисты. Ну да ладно, может натолкнет на более светлую мысль... =) Чтобы не писать анализатора контекста содержимого...
Выводим этот самый текст на какой нибудь QPixmap, а затем ищем на каком пикселе у нас заканчивается изображение снизу, поидее это и будет требуемая высота...
чур ногами сильно не пинать. =)
25K
13 июня 2007 года
Andreu_Re
16 / / 11.06.2007
Получился "мозговой штурм".
Дойдут в ближайшее время до задачи руки, напишу результат. Интересная мысль - взять поле битов QTextBrowser-а. Поковыряюсь в справочнике - есть ли такой метод у него или у родителей. Было - бы, наверно, идеальное решение.
92
14 июня 2007 года
Тень Пса
2.2K / / 19.10.2006
Цитата: Odissey_
Вообщем, пришла мне в голову одна идея, но даже незнаю, помоему из разряда баек как пишут индийские программисты. Ну да ладно, может натолкнет на более светлую мысль... =) Чтобы не писать анализатора контекста содержимого...
Выводим этот самый текст на какой нибудь QPixmap, а затем ищем на каком пикселе у нас заканчивается изображение снизу, поидее это и будет требуемая высота...
чур ногами сильно не пинать. =)


а что ) тоже идея :D

25K
16 июня 2007 года
Andreu_Re
16 / / 11.06.2007
Идея помогла в поиске решения. Откопал я несколько иное, гораздо легче.
 
Код:
QRect myRect = MyTextBrowser_top->paragraphRect (MyTextBrowser_top->paragraphs()-1);
    int myHeight = myRect.height();
    myHeight -= 4; //Небольшая корректировка
    MyTextBrowser_top->setMaximumHeight(myHeight);


Почему-то setGeometry не хотела работать.
Тут предполагается, что параграф один, если их будет более 1, то достаточно сложить высоты каждого.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог