![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
jim1406 |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 27 Регистрация: 17.3.2009 Пользователь №: 618 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Доброго времени суток!..
Задача - отображать в таблице и/или списке форматированный текст (переносы строки, различные шрифты и пр. смотри, как вариант, firefox). Делать виджета-наследника не очень желательно. Хочется использовать делегаты. Подскажите, с какого боку лучше подойти? Отрисовывать итемы в виде различных контролов я научился (в прошлой теме Delegate ![]() |
|
|
Litkevich Yuriy |
![]()
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
jim1406 |
![]()
Сообщение
#3
|
Студент ![]() Группа: Участник Сообщений: 27 Регистрация: 17.3.2009 Пользователь №: 618 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
igor_bogomolov |
![]()
Сообщение
#4
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
jim1406, с тебя пиво
![]() Шучу. ![]() Интересную ты задачку задал, если честно не сразу справился. Но было очень интерестно повозиться, т.ч. спасибо. В архиве готовый делегат, с тестовым примером. Обрати внимание на параметр Qt::Alignment align, который передается в конструкторе, он позволяет ориентировать текст в ячейке. Раскрывающийся текст
Прикрепленные файлы
|
|
|
jim1406 |
![]()
Сообщение
#5
|
Студент ![]() Группа: Участник Сообщений: 27 Регистрация: 17.3.2009 Пользователь №: 618 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
jim1406, с тебя пиво ![]() Шучу. ![]() Интересную ты задачку задал, если честно не сразу справился. Но было очень интерестно повозиться, т.ч. спасибо. В архиве готовый делегат, с тестовым примером. Обрати внимание на параметр Qt::Alignment align, который передается в конструкторе, он позволяет ориентировать текст в ячейке. Спасибо!!! Сейчас буду разбираться в деталях... Насчет использования QTextDocument я уже допетрил, но, насколько я понял, ты решил то, что не получалось у меня - нормальное отображение итема.... Еще раз ![]() |
|
|
igor_bogomolov |
![]()
Сообщение
#6
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
Насчет использования QTextDocument я уже допетрил А я вот долго допетрить не мог. Пока исходники QLabel не перерыл и не узнал, что у QTextDocument drawContents есть. Идея нормального отображения тоже частично у QLabel подсмотрена. А перед этим, не поверите, пытался сам все отрисовать через тот же QTextDocument, QTextCursor и QFontMetrics. Видилибы вы этого уродца ![]() |
|
|
SABROG |
![]()
Сообщение
#7
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: ![]() ![]() ![]() |
Это ты таким образом пытаешься скорость отрисовки увеличить? |
|
|
igor_bogomolov |
![]()
Сообщение
#8
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
Это ты таким образом пытаешься скорость отрисовки увеличить? Логика была сначала несколько подругому построена. А это остаточные рудименты. Я как результата достиг, на этом и успокоился. Надо было конечно ради приличая подчистить код, а то вот теперь и обо мне плохо думают ![]() Для скорости уж не сильно критично. Только глаз немного мазолит. А человеку помог, да и интерес смотрю есть, восемь закачек уже ![]() |
|
|
jim1406 |
![]()
Сообщение
#9
|
Студент ![]() Группа: Участник Сообщений: 27 Регистрация: 17.3.2009 Пользователь №: 618 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Не могу сообразить, как в QComboBox нормально такие итемы отрисовать
![]() Изначально идея была в выпадающем списке отрисовывать сложно-форматированный текст... |
|
|
SABROG |
![]()
Сообщение
#10
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: ![]() ![]() ![]() |
Хочу напомнить о существовании одной статьи в 24 выпуске Qt Quarterly: http://doc.trolltech.com/qq/qq24-textlayouts.html
(она есть и на этом сайте, но тут какой-то косяк с форматированием кода - http://www.crossplatform.ru/?q=node/544) Имхо QTextLayout полегковеснее будет, чем весь QTextDocument. Это конечно, если людям понадобится только отображение форматированного текста. Или вообще использовать QTextLine, если надо отрисовать всего-лишь одну строку:
Сообщение отредактировал SABROG - 14.4.2009, 21:50 |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 18.2.2025, 2:53 |