赞
踩
MyModel::MyModel(QObject *parent) : QStandardItemModel(parent)
{
}
QVariant MyModel::data(const QModelIndex &index, int role) const
{
if (!index.isValid())
return QVariant();
if (role == Qt::TextAlignmentRole)
{
return int(Qt::AlignLeft | Qt::AlignVCenter);
}
else if (role == Qt::DisplayRole)
{
return QStandardItemModel::data(index, role);
}
else if(role == Qt::BackgroundColorRole )
{
if(index.row() == 0 ) //set background picture
{
QPixmap pix(":/picture/bg1");
QPixmap pix2 = pix.scaled(100, 30);
return pix2;
}
else if(index.row()%5 == 1) //set background color
return QColor(Qt::red);
else
return QVariant();
}
return QVariant();
}
看到有很多文章写如何设置背景颜色的,面试的时候被问到怎么设置背景图片,回来想了一下可以这样实现。需要重写下QStandardItemModel,在data里返回图片。
如果觉得有帮助,请留言或者点赞.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。