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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QGraphicsTextItem  (Прочитано 2873 раз)
demaker
Птица говорун
*****
Offline Offline

Сообщений: 962


Просмотр профиля
« : Октябрь 30, 2014, 16:33 »

Пытаюсь при помощи
Код:
QGraphicsTextItem
Вывести на сцену текст в рамке с закрашенным фоном.
Но почему-то рамка с закрашенным фоном на сцене появляются, а текста нету. Непонимающий

Код
C++ (Qt)
TextCellItem::TextCellItem(int w, int h, const QString &text, QGraphicsItem *parent):
   QGraphicsTextItem(text,parent)
{
   boundingWidth = w;
   boundingHeight = h;
   qDebug()<<"width = "<<textWidth() ;
}
 
TextCellItem::~TextCellItem()
{
}
 
QRectF TextCellItem::boundingRect() const
{
   return QRectF(0,0,boundingWidth,boundingHeight);
}
 
QPainterPath TextCellItem::shape() const
{
   QPainterPath path;
 
   QPolygon polygon;
   polygon << QPoint(0,0)
           << QPoint(boundingWidth - 1,0)
           << QPoint(boundingWidth - 1,boundingHeight - 1)
           << QPoint(0,boundingHeight - 1)
           << QPoint(0,0);
 
   path.addPolygon(polygon);
   return path;
}
 
void TextCellItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
   QPen pen(QBrush(Qt::black),1,Qt::SolidLine);
   painter->setBrush(Qt::white);
   painter->setPen(pen);
   painter->drawPath(shape());
}
 

Подскажите в чем может быть причина.
Записан
vulko
Гость
« Ответ #1 : Октябрь 30, 2014, 16:50 »

painter->drawPath(shape());

а где painter->drawText?
Записан
demaker
Птица говорун
*****
Offline Offline

Сообщений: 962


Просмотр профиля
« Ответ #2 : Октябрь 30, 2014, 17:16 »

СПСБ Улыбающийся
Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #3 : Ноябрь 04, 2014, 10:52 »

ну и shape() для такого элемента переопределять нет смысла..
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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