Hi,

Use role Qt::ForegroundRole and Qt::BackgroundRole for implement this, ex:

QVariant MccModel::data(const QModelIndex &index, int role) const
{
    if ( role == Qt::BackgroundRole ){
        return QVariant(QColor(200,200,200)); 
}

> Date: Wed, 13 Jun 2012 10:27:20 -0500
> From: schum...@fnal.gov
> To: interest@qt-project.org; developm...@qt-project.org
> Subject: [Interest] Multicolored text in a QTableView cell?
> 
> Qt community,
> 
> I would like to have multicolored text in a single QTableView cell.   
> Since labels can support multicolored text with a rich text string I 
> tried the following:
> > QVariant MccModel::data(const QModelIndex &index, int role) const
> > {
> >     if( role == Qt::DisplayRole ){
> >         return( "<font color=\"red\">red</font> and <font 
> > color=\"blue\">blue</font>" );
> >     }
> >     return QVariant();
> > }
> Where MccModel subclassed from QAbstractTableModel.    This did not 
> work, specifically it displayed the whole long rich text string in 
> black.   How should I be doing multicolored table cells please?
> 
> Sincerely,
> Carl Schumann
> 
> 
> _______________________________________________
> Interest mailing list
> Interest@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
                                          
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to