Russian Qt Forum
Ноябрь 24, 2024, 02:37
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
Рисование в делегате: Размещение текста по центру ячейки
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Рисование в делегате: Размещение текста по центру ячейки (Прочитано 2922 раз)
VAP
Гость
Рисование в делегате: Размещение текста по центру ячейки
«
:
Май 05, 2010, 20:21 »
Доброго времени суток!
Прошу подсказки как разместить текст в делегате строго по центру ячейки. У меня рисуется немного левее центра.
[code cpp]
void ScaleItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option,
const QModelIndex &index) const
{
if (!index.isValid())
return;
int data = index.data(Qt::DisplayRole).toInt();
QString text = index.data(Qt::DisplayRole).toString();
QSize sh = sizeHint(option, index);
QFontMetrics fm = option.fontMetrics;
if (data == 0)
QPixmap pm(":images/red.png");
painter->drawPixmap(option.rect, pm);
/*в таком варианте рисуется в верхнем левом углу
painter->drawText(QRect(option.rect.x(), option.rect.y(), sh.width(), sh.height()),
Qt::AlignCenter, elidedText(fm, sh.width(), Qt::ElideMiddle, text));
*/
/*нашел на форуме, но рисуется не строго по центру*/
painter->drawText(option.rect, QString("%1").arg(text), QTextOption(Qt::AlignCenter));
}
[/code cpp]
Записан
VAP
Гость
Re: Рисование в делегате: Размещение текста по центру ячейки
«
Ответ #1 :
Май 06, 2010, 19:27 »
Ради интереса попробовал в версии Qt 4.3.0 и получил идеальный результат:
А в Qt 4.5.0 получается вот так:
Мелочь, но не приятная, однако.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...