Please check my code
/***************************************htmldelegat e.cpp*******************************************/
#include "htmldelegate.h"

HtmlDelegate::HtmlDelegate()
{
}
void HtmlDelegate:aint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
{
//qDebug()<<"paint"<<endl;
QStyleOptionViewItemV4 optionV4 = option;
initStyleOption(&optionV4, index);
QStyle *style=optionV4.widget->style();
// QApplication::style();
// QStyle *style = optionV4.widget->style() : QApplication::style();

QTextDocument doc;
doc.setHtml(optionV4.text);

// QTextBrowser browser;
// browser.setWordWrapMode(QTextOption::WrapAtWordBou ndaryOrAnywhere);
// browser.setLineWrapMode(QTextBrowser::NoWrap);
// browser.setHtml(index.data().value<QString>());
// QAbstractTextDocumentLayout::PaintContext context;

/// Painting item without text
optionV4.text = QString();
style->drawControl(QStyle::CE_ItemViewItem, &optionV4, painter);



QAbstractTextDocumentLayout::PaintContext ctx;

// Highlighting text if item is selected
if (optionV4.state & QStyle::State_Selected)
ctx.palette.setColor(QPalette::Text, optionV4.palette.color(QPalette::Active, QPalette::HighlightedText));

QRect textRect = style->subElementRect(QStyle::SE_ItemViewItemText, &optionV4);
painter->save();
painter->translate(textRect.topLeft());
painter->setClipRect(textRect.translated(-textRect.topLeft()));
doc.documentLayout()->draw(painter, ctx);
//browser.document()->documentLayout()->draw(painter, ctx);
painter->restore();
}

QSize HtmlDelegate::sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const
{
//qDebug()<<"size"<<endl;
QStyleOptionViewItemV4 optionV4 = option;

initStyleOption(&optionV4, index);

QTextDocument doc;
doc.setHtml(optionV4.text);
doc.setTextWidth(optionV4.rect.width());

return QSize(doc.idealWidth(), doc.size().height());


}
/************************************************** ************************************************** ********************************/


/************************************mainwindow.cpp ************************************************** ************************/

QStandardItemModel *model= new QStandardItemModel(row,1);
model->setColumnCount(1);
QString readString;
for (int r = 0; r < row; r++) {
for (int column = 0; column < 1; column++) {
readString = mystringlist.at(r);
qDebug()<<"readstring:"<<readString<<endl;

QModelIndex mindex = model->index(r, column);
model->setData(mindex,readString);

model->setHeaderData(0,Qt::Horizontal,tr("QUESTIONS")) ;
}

}


HtmlDelegate* delegate = new HtmlDelegate();


ui->tableView->setModel(model);
ui->tableView->setWordWrap(true);
ui->tableView->setTextElideMode(Qt::ElideLeft);
QHeaderView* hhdr = ui->tableView->horizontalHeader();
QHeaderView* vhdr = ui->tableView->verticalHeader();
for (int r = 0; r < row; r++) {
for (int column = 0; column < 1; column++) {
vhdr->setSectionResizeMode(r, QHeaderView::ResizeToContents);
hhdr->setSectionResizeMode(column, QHeaderView::Stretch);
}
}
ui->tableView->resizeColumnsToContents();
ui->tableView->resizeRowsToContents();

ui->tableView->setItemDelegate(delegate);

/************************************************** ************************************************** ***********************************/