Здравствуйте, гость ( Вход | Регистрация )
Флинт | Дата 22.11.2011, 14:33 |
boudingRect() помог все нормально вычислить и отмасштабировать, спасибо. Осталось разобраться как сделать теги (которые подчеркнуты) нажимабельными по типу ссылки. |
|
Sokoloff | Дата 21.11.2011, 14:34 |
попробуй использовать QString QFontMetrics::elidedText ( const QString & text, Qt::TextElideMode mode, int width, int flags = 0 ) const Добавляет три точки, где текст обрывается, не знаю чем это может помочь Пробывал через QFontMetrics узнавать высоту каждой строчки, но не понял как вычислить высоту абзаца. Надо установить свойство uniformRowHeights в false. Перекрыть SizeHint. Для получения размера текста можешь использовать параметр boundingRect в QPainter::drawText. |
|
Флинт | Дата 21.11.2011, 10:47 |
попробуй использовать QString QFontMetrics::elidedText ( const QString & text, Qt::TextElideMode mode, int width, int flags = 0 ) const Добавляет три точки, где текст обрывается, не знаю чем это может помочь Пробывал через QFontMetrics узнавать высоту каждой строчки, но не понял как вычислить высоту абзаца. |
|
wiz29 | Дата 11.11.2011, 16:33 |
попробуй использовать QString QFontMetrics::elidedText ( const QString & text, Qt::TextElideMode mode, int width, int flags = 0 ) const | |
Алексей1153 | Дата 11.11.2011, 11:08 |
нужно как-то передавать каждому элементу его разрешённую прямоугольную область, чтобы он за неё не выходил посмотри, есть ли у метода drawText флага, который делает клиппинг по прямоугольнику а чтобы ничего не обрезалось, эти прямоугольники надо так подгонять |
|
Флинт | Дата 11.11.2011, 9:50 |
Возник следующий вопрос. Делегат % Возник следующий вопрос. Делегат свой я сделал и даже добился нужного внешнего вида, проблемы начинаются, когда в средней строчке, где планируется размещать комментарии появляется слишком много текста, а соседние строки текста ничего не знают о размере друг друга и ничего не масштабируется, примерно так: Размещаю элементы подобным образом в методе paint делегата:
Метод sizeHint пока такой:
Куда копать? |
|
vankleef | Дата 4.10.2011, 18:40 |
Модель пока сделал, наследуясь от QSqlQueryModel, для представления мне кажется лучше всего подойдет ListView, но как заполнить один его элемент данными из нескольких ячеек таблицы? И как добиться нужного форматирования этих данных? Напишите свой делегат (наследуйте от QStyledItemDelegate), переопределите в нём функцию paint(). да, на мой взгляд создание своего делегата тут как раз уместно, т.к. используешь базы данных |
|
Denis.Rassvetniy | Дата 3.10.2011, 22:38 |
Модель пока сделал, наследуясь от QSqlQueryModel, для представления мне кажется лучше всего подойдет ListView, но как заполнить один его элемент данными из нескольких ячеек таблицы? И как добиться нужного форматирования этих данных? Напишите свой делегат (наследуйте от QStyledItemDelegate), переопределите в нём функцию paint(). |
|
Флинт | Дата 3.10.2011, 10:57 |
Это идея, спасибо. | |
RazrFalcon | Дата 3.10.2011, 10:41 |
Я бы создал класс QWidget. В нем бы расположил все что нужно для одной ячейки. Потом бы брал данные из БД и задавал значение элементов QWidget. А потом добавлял бы готовый QWidget в ячейку QListWidget. Вот пример того, что получилось у меня: http://kde-apps.org/CONTENT/content-pre2/144956-2.png |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 28.4.2024, 2:38 |