Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Emc от Август 14, 2007, 14:30



Название: Rich text && item
Отправлено: Emc от Август 14, 2007, 14:30
Есть ли способ добавить rich text в QStandardItem ?
я хочу чтобы текст отображался в таком виде
>>text text text<<


Название: Rich text && item
Отправлено: vaprele07 от Август 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);
    }
};


Название: Rich text && item
Отправлено: Emc от Август 14, 2007, 16:14
жесть
идею понял - спасибо


Название: Rich text && item
Отправлено: EhTemka от Август 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 в ячейках...


Название: Rich text && item
Отправлено: Emc от Август 17, 2007, 15:59
начиная с 4.2.х


Название: Rich text && item
Отправлено: EhTemka от Август 17, 2007, 16:15
спасибо!

хотя и жаль...


Название: Rich text && item
Отправлено: stealth от Август 17, 2007, 21:32
Всё работает. Спасибо!