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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Rich text && item  (Прочитано 5986 раз)
Emc
Гость
« : Август 14, 2007, 14:30 »

Есть ли способ добавить rich text в QStandardItem ?
я хочу чтобы текст отображался в таком виде
>>text text text<<
Записан
vaprele07
Гость
« Ответ #1 : Август 14, 2007, 15:58 »

Если лень, можно так:
Код:

class myDelegate : public QItemDelegate
{
  ...
  protected:  
    virtual void drawDisplay ( QPainter * painter, const QStyleOptionViewItem & option, const QRect & rect, const QString & text ) const
    {
      QTextDocument doc;
      doc.setHtml(text);
      QPixmap pix(rect.size());
      QPainter p(&pix);
      p.setPen(Qt::NoPen);
      if (option.state & QStyle::State_Selected)
        p.setBrush(option.palette.highlight());
      else p.setBrush(option.palette.base());
      p.fillRect (pix.rect(), p.brush());
      doc.drawContents(&p, pix.rect());
      painter->drawPixmap(rect.x(), rect.y(), pix);
    }
};
Записан
Emc
Гость
« Ответ #2 : Август 14, 2007, 16:14 »

жесть
идею понял - спасибо
Записан
EhTemka
Гость
« Ответ #3 : Август 17, 2007, 15:18 »

Цитата: "vaprele07"
Если лень, можно так:
Код:

class myDelegate : public QItemDelegate
{
  ...
  protected:  
    virtual void drawDisplay ( QPainter * painter, const QStyleOptionViewItem & option, const QRect & rect, const QString & text ) const
    {
      QTextDocument doc;
      doc.setHtml(text);
      QPixmap pix(rect.size());
      QPainter p(&pix);
      p.setPen(Qt::NoPen);
      if (option.state & QStyle::State_Selected)
        p.setBrush(option.palette.highlight());
      else p.setBrush(option.palette.base());
      p.fillRect (pix.rect(), p.brush());
      doc.drawContents(&p, pix.rect());
      painter->drawPixmap(rect.x(), rect.y(), pix);
    }
};


 А не подскажите, какая это версия  Qt?
У меня 4.1.4, и drawContents() у QTextDocument там нет, к сожелению :cry:

А очень бы хотелось отображать HTML в ячейках...
Записан
Emc
Гость
« Ответ #4 : Август 17, 2007, 15:59 »

начиная с 4.2.х
Записан
EhTemka
Гость
« Ответ #5 : Август 17, 2007, 16:15 »

спасибо!

хотя и жаль...
Записан
stealth
Гость
« Ответ #6 : Август 17, 2007, 21:32 »

Всё работает. Спасибо!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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