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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: как вставить HTML текст QListWidget  (Прочитано 5906 раз)
zoro86
Гость
« : Декабрь 01, 2009, 09:50 »

Кто нибудь сталкивался с тем что необходимо вставить в QListWidget HTML текст...
Текст который надо вставить  состоит из нескольких QString элементов..
strSumma = selectNewsQuery.value(j).toString();
              if(Debuger) qDebug() << strSumma;
              strAll += strSumma+"\n";

ну далее что та вроде такого..

QListWidgetItem *item = lw->item(i);
           if (i%2 == 1)
           item->setBackground(QColor::QColor ( 229, 226, 226, 255 ));
           item->setTextAlignment(1);
           lw->addItem(strAll);
           strAll = "";
           i++;

Желательно как нибудь разделить текстовые строки которые вставляются  lw->addItem(strAll);

или как нить менять QString strSumma... фон цвет и.т.д
Записан
fuCtor
Гость
« Ответ #1 : Декабрь 02, 2009, 14:49 »

Как вариант делать свой делегат, который и будет как надо отрисовывать через QTextDocument.
Записан
zoro86
Гость
« Ответ #2 : Август 26, 2010, 13:59 »

Тема старая но хорошая...

делаю следующее..

.h
Код:
#ifndef ITEMDELEGAT_H

#define ITEMDELEGAT_H



#include <QItemDelegate>



class ItemDelegate : public QItemDelegate

{

    Q_OBJECT



public:

    ItemDelegate(QObject *parent);



    QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option,

                          const QModelIndex &index) const;




   ~ItemDelegate();


};


#endif // ITEMDELEGAT_H

.cpp

Код:
#include <QLabel>


#include "itemDelegat.h"





ItemDelegate::ItemDelegate(QObject *parent)

    : QItemDelegate(parent)

{



}




QWidget *ItemDelegate::createEditor(QWidget *parent,

    const QStyleOptionViewItem &/* option */,

    const QModelIndex &  index ) const

{

   QTextBrowser  *editor = new  QTextBrowser(parent);



   return editor;

}


ItemDelegate::~ItemDelegate()

{



}

далее в использование для QListWidget *lw;

Код:
lw->setItemDelegate(new ItemDelegate(this));


но почему то HTML текст не разпазнается... поискал по форуму там с помощью paint рисуют widget-ы... а мне как быть кто делал киньти примерчик... а то что та втыкнуть не могу...
Записан
crossly
Гость
« Ответ #3 : Август 26, 2010, 14:56 »

Код:
virtual void paint ( QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index ) const
void QTextDocument::drawContents ( QPainter * p, const QRectF & rect = QRectF() )
Записан
zoro86
Гость
« Ответ #4 : Август 26, 2010, 15:26 »

В чем смысл этих строк... и как их использовать, проста не очень смысл понял... Непонимающий
Записан
crossly
Гость
« Ответ #5 : Август 26, 2010, 15:31 »

переопределить у делегата метод paint и отрисовать html с помощью QTextDocument...
Записан
zoro86
Гость
« Ответ #6 : Август 27, 2010, 06:48 »

благодарю... за ответ нашел...

http://www.prog.org.ru/topic_6102_0.html
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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