Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Stek от Август 28, 2012, 13:28



Название: Подстрочный текст, как нарисовать такое?
Отправлено: Stek от Август 28, 2012, 13:28
Здравствуйте!
 
Необходимо отобразить подстрочный символ в item treewidget.
Как такое реализовать?


Название: Re: Подстрочный текст, как нарисовать такое?
Отправлено: Kurles от Август 28, 2012, 13:36
Рисовать его на иконке. Стандартных средств нету вроде.


Название: Re: Подстрочный текст, как нарисовать такое?
Отправлено: mutineer от Август 28, 2012, 13:39
Сделать свой делегат и рисовать в нем


Название: Re: Подстрочный текст, как нарисовать такое?
Отправлено: Stek от Август 30, 2012, 09:44
Получилось нарисовать так:

Код:
  QPixmap pm(QSize(100,100));
  QPainter painter(&pm);

  //Закрашиваю область рисования
  painter.fillRect(painter.viewport(),QColor(255,255,255));

  //Рисую текст
  painter.setFont(QFont("Arial",46,QFont::Normal));
  painter.drawText(50, 20,50,100, Qt::AlignCenter | Qt::AlignTop,QString::number(levelcount));

  //Отображаем результат отрисовки
  parentitem->setIcon(0,pm);//root item в treewidget

  Но изначально нужно отображать ещё и icon слева, напротив item, а уже поверх рисовать циферки (т.е как на рисунке в 1-ом посте).

  Как сделать чтобы рисуемый текст отображался на прозрачном фоне, смотрел

Код:
  painter.setCompositionMode(QPainter::CompositionMode_Source);
  painter.fillRect(rect, Qt::transparent);

  но не дал ладу. Буду признателен за помощь, спасибо!


Название: Re: Подстрочный текст, как нарисовать такое?
Отправлено: Stek от Август 31, 2012, 08:01
так...с прозрачностью понятно,забыл закомментить строчку

Код:
//painter.fillRect(painter.viewport(),QColor(255,255,255));


Как бы теперь поверх основной Icon нарисовать цифру?