我正在使用委托将一个单元格的背景设置为tableView中的蓝色。代码如下:
void Delegate::setModelData(some parameters)
{
QStandardItem *item = model->item(modelIndex);
item->setBackground(QBrush(Qt::blue));
item->setText("hello")
}
虽然不是很清楚(蓝色背景),但您仍然可以在最后一栏中看到,没有网格线来分隔单元格。
您能告诉我这两个问题有什么问题,以及如何解决这些问题?非常感谢你。
答案 0 :(得分:0)
setModelData()表示保存数据的位置构成自定义编辑器以进行建模。您应该在paint()虚函数中设置单元格绘图:
void Delegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
{
// Your manipulation with QPainter and QStyleOptionViewItem
QStyledItemDelegate::paint(painter, &option, &index);
}
您应该更改 QStyleOptionViewItem :: backgroundBrush