Russian Qt Forum
Сентябрь 30, 2024, 06:27 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QGraphicsObject::paint drawText градиент сверху вниз  (Прочитано 2979 раз)
Patrin Andrey
Гость
« : Декабрь 20, 2012, 08:21 »

Имеем такой код:
Код:
void GradientText::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
QRect rect = QRect(0,0, boundingRect().width(), boundingRect().height());

QLinearGradient grad(0, 0, 0, rect.height()); // << вертикальный
// QLinearGradient grad(0, 0, rect.width(), 0); // << горизонтальный

grad.setColorAt(0, "white");
grad.setColorAt(1, "black");

painter->setBrush(QBrush("green"));
painter->drawRect(rect);

painter->setFont(QFont("Times", 50, QFont::Normal)) ;
painter->setPen(QPen(QBrush(grad), 0));

painter->drawText(rect, "text1234");
}

По горизонтали текст заливается нормально, а по вертикали применяется цвет указанный в grad.setColorAt(0, "white");



Как починить? А ещё лучше как задать градиент для qml текста, без написания своего компонента.
Записан
porup
Гость
« Ответ #1 : Декабрь 21, 2012, 16:38 »

А вот если величину шрифта уменьшить до 47, тогда градиент рисуется
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.055 секунд. Запросов: 21.